如何实现此活动流程 - 许多活动通过一个 MainCheckerActivity - >返回或设置活动?



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

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

然后用户必须手动导航到设置活动从 A,B,C...

所以基本上现在:

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

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

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

非常感谢!

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

Google Maps应用程序也做了类似的事情。如果您忘记打开GPS卫星,它将弹出一个对话框,询问诸如"您想打开GPS卫星和/或wifi以提高位置的准确性吗?工作流程如下:

  1. MainActivity启动谷歌地图(并搜索"我的位置")。

  2. 该应用程序意识到您忘记打开GPS卫星和/或wifi互联网。弹出一个对话框,询问您是否要调整设置。选项是"跳过"(负按钮)和"设置"(正按钮)。还有一个"默认执行此操作"...您可以考虑添加这样的东西,以防您的设置要求开始惹恼用户。:)

  3. (a) 如果单击"跳过",请关闭对话框,您仍处于MainActivity状态。

    (b) 如果单击"设置",则启动SettingsActivity。您可以更改设置。然后,完成后,单击"返回",保存更改,然后返回到MainActivity

换句话说,最好的主意似乎是将MainCheckerActivity与活动合并ABC。消除不必要的活动几乎总是会带来更好的用户体验。:)