我有一个用户可以登录的应用程序。登录需要保留。我现在做的是在onPause中测试活动是否为完成()。如果没有,那必须意味着用户离开应用程序(或屏幕变暗,或打电话,或其他)。现在我想在15分钟内没有回来的情况下将用户注销。可以做postDelayed(...,15 * 60)吗?这会在后台执行吗?我可以在那里进行网络呼叫以将用户注销,我确定这实际上是如何完成的?如果该应用程序将在15分钟内被杀死,是否有一个钩子我将用户注销?
答案 0 :(得分:1)
您的应用程序可能会在15分钟内被杀死。然而,可能取决于设备规格,Android版本,运行的应用程序数量,运行的应用程序等等。由于这些变量我会说依赖你的postDelayed是不够的,你应该使用像AlarmManager这样的东西来注册您的应用程序,因此它在触发时运行注销代码。
如果您想要的只是在活动被销毁时让您的应用程序注销,只需将您的注销代码放在活动的onDestroy()方法中
答案 1 :(得分:1)
我认为将AlarmManager与广播接收器结合起来可以捕获由它生成的Intent。 此链接可能有用: http://www.dotkam.com/2011/01/10/android-prefer-alarms-and-intent-receivers-to-services/