-1

我有活动 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都是新活动。

有什么建议么?

谢谢!

4

1 回答 1

0

根据我的理解,如果你有

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

那么这意味着当从 E 返回时,您最终会进入 D,然后是 C 等。否则,您对假设的陈述是错误的。

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

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

此外,您对 AD 的设置如何是糟糕的设计。您应该更改它以反映我所描述的内容。

一个例子

Main screen (A)

List Screen (B)

Message Screen (C)

Details Screen (D)

这是有道理的,并且是更好的流程。直接前往 D,然后使用 Back 按钮从 D 向后遍历到 A。

笔记

任何设置屏幕都不应该出现在流程中,因为这会让用户感到困惑,因为他们没有遍历它,因此它是一个无上下文的屏幕来显示。而且您的服务也不应该是流程的一部分,它的状态应该由活动根据需要维护。

于 2013-02-24T07:20:53.777 回答