显示的应用程序的主菜单主屏幕上时,返回的应用程序后,开始了一个外部活性/意图
-
20-09-2019 - |
题
我开始安卓市场,通过我应用程序的搜索类似产品采用这个代码:
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://market.android.com/search?q=pub:\"some txt\""));
c.startActivity(intent);
这一工作的现为表示类似的产品。然而,如果我碰上的家庭按钮,同时在市场上,当我重新开放该程序仍然显示出市场的结果。我要去主菜单在这种情况。
是有一个解决方案?
解决方案
对不起,FLAG_ACTIVITY_NO_HISTORY
可能是不正确的解决方案。注意它的语义 - 活动只是不会出现在历史上。因此,如果用户点击在它的东西去到下一个活动,然后按退一万,他们将不会返回到前一个(但在此之前的一个)。这是很少见你想要的。
更糟的是,如果他们去从市场活动,按家里的第二活性,并返回到您的应用程序,该次活动将仍然存在(它是保持自身的历史)。
这种情况的正确标记是 FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET 。
其他提示
如果你加入 FLAG_ACTIVITY_NO_HISTORY
标志的意图,它将不会保持在历史堆。当用户导航回到你的应用程序,最后活动的可见之前推出该市场将会显示出来。
Intent intent = new Intent(Intent.ACTION_VIEW,
Uri.parse("http://market.android.com/search?q=pub:\"some txt\""));
c.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
c.startActivity(intent);
编辑: hackbod 是正确的: FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET
是一个更适合你需要什么。
这是没有问题的。
当你按下市场应用程序不会被关闭的家,只是暂停。所以,当你再次打开它,你恢复它。检查的Android活动的生命周期。
不隶属于 StackOverflow