2

我在主屏幕上有一个应用小部件,其中包括一个启动基本设置活动的按钮。

当用户按下返回按钮时,如果主应用程序的堆栈中有一些活动,则返回按钮会将您带到应用程序中最近查看的活动,而不是返回主页。我为我的意图尝试了以下标志:

settingsIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

settingsIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_TASK_ON_HOME);

settingsIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

但没有任何运气。我可以使用任何标志或标志组合来执行此操作吗?谢谢。

4

2 回答 2

1

下一个试试

settingsIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); settingsIntent.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);

此标志在新任务中运行活动,退出后不将其添加到历史记录中。所以您的设置活动不会与主应用程序交叉

于 2012-11-09T23:16:39.697 回答
1

您需要执行以下操作:

intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

您当前正在使用 setFlags ,当您需要这两个标志才能正常工作时,它会覆盖您之前设置的标志。

您可以在http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_CLEAR_TOP阅读此内容

于 2012-11-09T23:09:31.250 回答