1

我需要一般建议。

我正在构建一个可以通过图标启动的应用程序(正常方式),但也可以通过单击通知区域(应用程序在通知区域中放置一个图标)触发意图。当时间事件/警报发生时被唤醒。

该应用程序有 5 到 10 个视图。为每个视图打开一个新活动会更好吗?我如何确保不打开多个任务?假设我的应用程序是 Activity-A、Activity-B、Activity-C 并且可以从 Activity-A 和 Activity-B 启动(取决于它是通过图标还是通知区域打开)......我该如何清理所有内容在应用程序关闭时?

还是有一个活动并只切换视图(xml 布局)更好?

4

3 回答 3

0

它可能就像使用不同的启动模式一样简单,您可以在清单中定义它,或者我认为在您正在使用的 inent 中定义。这需要一些试验,但 SingleTask 或 SingleInstance 可能是您的正确选择,

在这种情况下,您的活动应支持 onNewIntent,以重用现有活动(如果这是所需的效果)。

于 2012-09-12T22:04:58.777 回答
0

我将从您应该观看和阅读的内容开始。应该清楚的是,Android 中的导航很容易出错。谷歌在不同的应用程序之间有着不同的历史,但它们正在变得更好。这就是说,如果你要做一个应用程序,你应该知道它是如何工作的,最好的方法是阅读文档。如前所述,在 IO'12 上有一场精彩的演讲。在设计网站上也有一个很好的部分,最后在API Guides中也有一个很好的部分。

总结一下:全屏是一个活动(它又可以由片段构成)。几乎在所有情况下,活动都应该构造为树,根是从家里启动的活动。对于每个活动,您都应该有一个“向上”活动,它将您带入层次结构。请注意,这与返回不同,返回应该将您带到您所处的最后一个全屏状态。另请注意,全屏意味着例如选项卡不应记录在“返回历史记录”中,因为它们提供屏幕内的导航。

当点击通知时,它应该相当于:按主页,从最近视图中删除任务(清除任务),打开任务,最后采取最短路径到达显示通知信息的活动告诉过你。很复杂,确实是的......但至少在 JB 和支持库中有一个帮助程序类,称为 TaskStackBuilder。

这一切的关键是遵循 Android 设计准则的 UI 设计。花点时间为您的应用程序进行设计,并确保分开(静态)和返回(临时)。

于 2012-09-12T20:38:29.917 回答
-1

在这种情况下,我最好使用一项活动或使用片段。

于 2012-09-12T16:32:52.530 回答