从服务创建活动

时间:2013-02-24 07:02:04

标签: android android-intent service android-activity android-pendingintent

我有活动A,B,C,D和服务S. 活动的层次结构是A-> B-> C-> D

当服务收到信号时,服务会添加通知,当用户点击它时,我想创建一个新的活动E. 如果存在任务,请将活动创建为最底层活动的子项。 (即A-> B-> C-> E或A-> E或A-> B-> E或A-> B-> C-> D-> E) 在这种情况下,A,B,C,D必须是与以前相同的状态,E是新活动。 如果没有现有任务(没有正在运行的任务),请在另一个新活动A下创建活动。 (即A-> E) 在这种情况下,A,E都是新活动。

有什么建议吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

根据我的理解,如果你有

A -> B -> C -> D -> E

然后这意味着当你从E回来时你最终会进入D然后是C等。否则你对你所假设的陈述是错误

基本上你 COULD 而不是做A-E只是直接进入E并通过将其打包到你的通知数据中来传递将导致相应对话的数据。

如果您可以转到E并且如果用户使用后退按钮返回,则无需使用A-E,您应该拦截它并处理流程以尊重您的设计。这样做应该始终从E-A开始。否则,您以糟糕的方式实现了应用程序的流程。

您还可以设置A-D如何设计不佳。您更改此内容以反映我所描述的内容。

一个例子

Main screen (A)

List Screen (B)

Message Screen (C)

Details Screen (D)

这是有道理的并且是更好的流程。要直接进入D,然后使用“返回”按钮从D向后移动。

注意

任何设置屏幕不应该都在流程中,因为这会让用户感到困惑,因为他们没有遍历它,因此它会显示一个无环境屏幕。并且您的服务也不应该成为流程的一部分,它的状态应该由活动维护。