在Launcher属性的Activity的onCreate里添加如下语句:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d(TAG, String.format("onCreate flag=0x%x",getIntent().getFlags()) );
// 按home键后,从Home点击应用图标再次打开时,没有打开当前界面,从头开始启动应用的问题。
// 清单中的launchMode设置为singleInstance, 桌面点击时Flag是:FLAG_ACTIVITY_BROUGHT_TO_FRONT
// 单中的launchMode设置为singleTask,桌面点击时Flag是FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
if (((getIntent().getFlags() & (Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED | Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT)) != 0)) {
Log.d(TAG, "onCreate FLAG_ACTIVITY_BROUGHT_TO_FRONT");
finish();
return;
}
//......
}
// 按home键后,从Home点击应用图标再次打开时,没有打开当前界面,从头开始启动应用的问题。
? ? // 按home键后,从Home点击应用图标再次打开时,没有打开当前界面,从头开始启动应用的问题。
? ? // 清单中的launchMode设置为singleInstance, 桌面点击时Flag是:FLAG_ACTIVITY_BROUGHT_TO_FRONT
? ? // 单中的launchMode设置为singleTask,桌面点击时Flag是FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
|