0

我有一种活动,启动模式为单一任务。活动由广播接收器通过意图标志Intent.FLAG_ACTIVITY_NEW_TASK启动。如果此活动位于主屏幕之上,并且如果我从此活动中调用moveTasktoBack(true),则预期会显示主屏幕,而不是主屏幕,而来自其他任务的活动B则显示在前面。操作顺序如下。在主屏幕顶部的活动上调用movetasktoback方法并不会将主屏幕带到前景

任务B中的活动B进入前台。

我检查了任务A(带有活动A)和任务B(带有活动B)的任务亲和性,它们是不同的。

如何确保在这种情况下,当活动移动到堆栈后面时,主屏幕会显示出来。

回答

0

而是你的任务移动到后台,刚推出HOME画面是这样的:

Intent intent = new Intent(Intent.ACTION_MAIN); 
    intent.addCategory(Intent.CATEGORY_HOME); 
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    startActivity(intent); 
+0

我不能总是这样的使用情况下,我有需要的活动B中被弹出活动A在活动B上方启动并调用活动A时调用movetasktoBack的情况。这种情况下的活动B可以来自任何应用程序,并且在大多数情况下不会与活动A相同。 – apoorvn 2015-02-07 05:47:11

+0

您的评论没有意义。这段代码完成了和调用moveTaskToBack()一样的功能。它将调用“Activity”的任务移动到后台并向用户显示HOME屏幕。这正是你说你想要做的。我不明白你的投诉。请试试这个,然后告诉我什么不按照你想要的方式工作。 – 2015-02-07 11:41:49

+0

我想在AOSP中遇到以下错误。 https://gitorious.org/cyandreamproject/android_frameworks_base/commit/04f0b70c13c0b89b11493ff3f26ab2d0d961bd3a – apoorvn 2015-02-08 09:13:58