【发布时间】:2013-06-11 00:24:57
【问题描述】:
我的应用程序需要这种行为,“用户每次尝试启动它时都必须登录(直接触摸应用程序图标,或通过任务管理器或通过最近的应用程序)” 所以活动是按这个顺序排列的(认为App名称是Foo app)
- S - 启动画面
- L - 载入画面
- Lo - 登录屏幕
- M - 主菜单(有任务列表)
- T - 任务屏幕
“用户启动应用程序并按以下顺序进行: S -> L -> Lo(登录)-> M(选择其中一项任务)- > 任务屏幕
所以当他在任务屏幕中时,他按下主页按钮,应用程序进入后台,他使用另一个应用程序。并再次使用 Foo 应用程序。所以在这个如果他按下返回按钮,它会显示之前正在使用的任务屏幕???如果再次按下返回按钮,它会再次进入主屏幕,依此类推...???
这不应该发生,只是我想要的是,当应用程序进入前台时,用户需要登录并且永远无法返回任何屏幕。
注意:所有的屏幕都扩展了一个BaseActivity类,它扩展了Activity类。在那里我使用了 onResume()、onPause() 方法和另一个自定义方法来找出扩展子类何时暂停,并在应用程序来自后台时恢复!!!在某些屏幕中,我也不得不使用片段......!
提前感谢您的时间和帮助!
【问题讨论】:
-
如果用户按下 Home 或其他活动(传入拨号器),那么当用户返回到您的活动(通过应用程序图标或返回)时,他应该看到您的应用程序它在哪里。我还没有看到一个严肃和流行的 Android 应用程序表现不同......我看不出它不应该表现得这样的任何理由
-
首先感谢两位 cmets。 @verybadalloc 嘿,在发布此内容之前,我也是这样回答的,但是我已经在我的应用程序中实现了那些东西,但没有给出预期的结果! :(
-
@gunar 您好 Gunar,如果您可以想象一个应用程序,您可以隐藏或锁定您通过应用程序选择的所有图像,并且在您需要访问这些图像的任何时候,您必须通过该应用程序登录,但不能直接在该应用程序的最后查看的照片库中登录。所以为了实现这种行为,我们需要实现上述场景
-
当Activity backStack如下A -> B -> C -> D 当用户在 D 中时,他按下 Home 按钮,以他稍后再次启动应用程序的任何方式,我希望他回到 A活动,就像简单地将堆栈弹回 A!因为它是 Login Activity,我仍然无法解决这个问题!我可以在应用程序的任何地方找到,当它从后台返回到前台时,并使用 FLAG_ACTIVITY_CLEAR_TASK 将 Intent 传递给 StartActivity 方法,并且我已经在使用 **android:clearTaskOnLaunch="true" **,但是问题仍然存在!
标签: android onresume onpause application-restart