我想知道处理应用程序超时的最佳方法是什么,例如 PayPal。我希望用户选择 1、5 或 15 分钟的超时时间,这样当他们打开应用程序时,他们必须再次登录。
我的 onResume 方法:
@Override
public void onResume() {
}
它里面什么也没有。但它崩溃了。
请注意:我的应用程序有两个活动。第一个活动是登录屏幕。第二个活动是主屏幕。 onResume 方法位于第二个 Activity 中。
我在我的一个应用程序中执行了此操作:
您需要一个基础 Activity,您的所有活动都将从该基础 Activity 扩展。在此基本活动中,添加一个变量来跟踪“上次用户活动”时间戳。就我而言,用户活动仅仅意味着他们触摸屏幕。因此,重写dispatchTouchEvent(MotionEvent ev)方法,并将“最后一个用户活动”设置为当前时间戳。
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
lastActivity = new Date().getTime();
return super.dispatchTouchEvent(ev);
}
然后在此基本活动的 onResume() 方法中,只需将当前时间戳与“上次用户活动”时间戳进行比较。如果超过 1、5 或 15 分钟(可由用户配置),则启动另一个活动来要求用户登录。
@Override
public void onResume() {
long now = new Date().getTime();
if (now - lastActivity > xxxx) {
// startActivity and force logon
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)