1

我有一个中央MainCheckerActivity来检查所有设置是否正常。这个MainCheckerActivity被许多活动 A、B、C、.. 调用。

如果MainCheckerActivity发现缺少某些设置,它会显示一个对话框并(当前)完成,因此流程返回到调用活动 A、B、C...

然后用户必须从 A、B、C 手动导航到 SettingsActivity ...

所以基本上现在:

A -> MainCheckerActivity -> shows the dialog -> finishes MainCheckerActivity -> A -> SettingsActivity 

我将如何实现对用户更方便的逻辑流程,如下所示:

A -> MainCheckerActivity -> shows the dialog -> finishes MainCheckerActivity -> SettingsActivity -> A

非常感谢!

4

2 回答 2

0

谷歌地图应用程序做类似的事情。如果您忘记打开 GPS 卫星,它会弹出一个对话框,询问类似“您要打开 GPS 卫星和/或 wifi 以提高您的位置的准确性吗?”。工作流程如下:

  1. 您启动 Google 地图MainActivity(并搜索“我的位置”)。

  2. 该应用程序意识到您忘记打开 GPS 卫星和/或 wifi 互联网。将弹出一个对话框,询问您是否要调整设置。选项是“跳过”(否定按钮)和“设置”(肯定按钮)。还有一个“默认情况下执行此操作”...您可能会考虑添加类似的内容,以防您的设置要求开始激怒用户。:)

  3. (a) 如果单击“跳过”,则关闭对话框,您仍处于MainActivity.

    (b) 如果单击“设置”,SettingsActivity则启动。您对设置进行更改。完成后,单击“返回”,保存更改,然后返回到MainActivity.

因此,换句话说,似乎最好的办法是将MainCheckerActivity与活动AB和合并C。取消不必要的活动几乎总能带来更好的用户体验。:)

于 2012-07-02T22:53:04.877 回答
0

如果您使用 启动 MainCheckerActivity Intent.FLAG_ACTIVITY_NO_HISTORY,那么它将不会保留在任务的历史堆栈中。如果 MainCheckerActivity 启动 SettingsActivity,当用户在 SettingsActivity 中单击“返回”时,他将返回到启动 MainCheckerActivity 的活动(即:您描述中的 A、B 或 C)。

于 2012-07-07T11:35:30.253 回答