2012-11-09 123 views
2

我在主屏幕上有一个应用程序小部件,其中包含一个启动基本设置活动的按钮。Android:从主屏幕小部件启动应用程序活动的新实例

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

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);

但与任何没有运气。有什么国旗或国旗可以用来做这个吗?谢谢。

回答

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

+0

太棒了,我以为我有它的工作,但无论我是愚蠢的,它从来没有工作开始或什么导致它完全停止工作。 – JMRboosties

+0

我试过了CLEAR_TOP和CLEAR_TASK,都没有工作。如果应用程序在其堆栈中有任何活动,则finish()会将您带到那里而不是主页。 – JMRboosties

1

阅读紧靠这个尝试下

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

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

相关问题