我希望在我的应用程序处于非活动状态3分钟后注销用户,即3分钟内无所事事。我只有一个Activity
,它包含多个Fragment
个。我怎样才能做到这一点?我尝试了在同一主题上发布的答案,但没有任何效果。请问任何人都可以具体吗?
答案 0 :(得分:1)
每个Activity
都有onUserInteraction()
个功能。您可以覆盖它并重置Runnable
。如果没有用户交互,则会在3分钟后调用Runnable
。不要忘记删除Runnable
onDestory()。
Runnable r = new Runnable() {
@Override
public void run() {
// handle timeout
}
};
Handler handler = new Handler();
@Override
public void onUserInteraction() {
super.onUserInteraction();
handler.removeCallbacks(r);
handler.postDelayed(r, 3 * 60 * 1000 );
}
@Override
protected void onDestroy() {
super.onDestroy();
handler.removeCallbacks(r);
}
答案 1 :(得分:0)
试试这个
使用CountDownTimer
CountDownTimer timer = new CountDownTimer(15 *60 * 1000, 1000) {
public void onTick(long millisUntilFinished) {
//Some code
}
public void onFinish() {
//Logout
}
};
当用户停止任何操作时,使用timer.start(),当用户执行操作时,执行timer.cancel()
答案 2 :(得分:0)
使用警报管理器并为注销设置警报
答案 3 :(得分:0)
您有两种选择。
restartTimer
。当计时器到达零时,请注销用户。