我必须在应用程序中根据会话维护统计信息。问题在于,即使用户使用后退按钮退出应用程序,也不会关闭应用程序(可能是因为我在后台运行服务)。Android应用程序会话管理
我想重置我的会话信息,如果该应用程序在后台说X分钟(从比如说一个电话或报警相区别)。有没有办法做到这一点?
也许某种类型的广播接收机来检测事件...?
让我试着解释一下这个场景。我的应用程序只有在认证后才能访问(输入密码)。现在一旦用户进入这个部分,我不希望每次活动暂停时都要求用户进行认证。但是,说用户按下主页键并在说20分钟后返回到应用程序,我想要求认证。
编辑:我有多个活动的工作,所以我不能检测应用程序将背景只需在onPause()
设置一个标志。
我可以使用Flurry/Google Analytics,但您看到我想重置的信息位于应用程序内部,与报告/跟踪无关。 –
我看到你更新了这个问题。如果您可以准确地保存记录并以正确的方式检测,onPause应该可以正常工作。为了保持简短,请使用SharedPreference保留上次活动时间并刷新它。如果你不能设置onPause(),那很好,只需设置onResume()来检查那个时间。这总是一个有效的例子,因为它必须被买到前台。如果您真的不信任这种方式,请尝试使用AlarmManager,并在每次进行交互并使未决事件使会话无效时刷新警报。有很多方法可以做到这一点,但使用偏好非常简单。 – Edison
请记住,如果您正在进行多项活动,则无关紧要。如果它们是在同一个进程上运行的同一个应用程序,通常会有一个清晰的堆栈。 – Edison