1

我的应用程序启动前台服务女巫保持与服务器的连接。它是带有pendingIntent 女巫显示MainActivity 的显示通知。当我(用户)点击应用程序图标(在桌面或应用程序列表上)时,它会显示“任务堆栈”。我的意思是如果午餐 MainActivity 它显示它,如果用户去活动 B 或 C(或午餐一些其他活动)它显示它(我的意思是来自任务堆栈的顶级活动)。有一个问题 - 如果用户点击通知,他会再次看到 MainActivity(在堆栈顶部),但我希望在堆栈顶部(活动 B、C 或其他女巫最后被用户午餐)。

当我为 MainActivity“singleTask”设置属性时,一半解决了,现在它始终是任务堆栈的根,但是正在失去所有活动(B、C 和其他用户午餐)。类似Reuse Activity on Top of Stack simular 中的解决方案,但我只需要根目录下的一项活动。

也许我的逻辑是错误的,我需要另一种方法来解决这个问题。但我想知道如何像应用程序图标一样以编程方式显示任务堆栈(顶部活动)?

4

1 回答 1

0

文档Tasks and Back Stack描述了如何正确处理导航。

简而言之,如果用户点击您的导航并且您将他们带到您应用中的一个活动,当他们点击返回时,他们应该在您的应用的活动层次结构中向上,直到他们到达主屏幕。他们永远不应该在另一个任务中进入堆栈。也就是说,如果他们在您的应用程序中的 Activity C 中,并且您发送一个通知,他们单击该通知将他们带到 Activity A,然后单击 Back 应该将他们带到A 的父级,而不是 C。如果他们想要去C,他们可以使用Recents。

在旧平台上,Recents 不可用。

这是设计使然。

要构造正确的合成后堆栈,请使用TaskStackBuilder

于 2012-10-26T23:52:54.977 回答