1、为所有的Activity定义一个基类BaseActivity,程序中的所有Activity都继承自这个基类。
2、重写BaseActivity的dispatchTouchEvent()方法,只要监听到此方法,表明用户操作,纪录这个时间。
3、写一个定时器Timer,每1秒检查一次当前系统时间上次操作的时间,如果时间差大于5s,则自动退出(1s、5s自己设定)。
4、示例代码如下:
4.1 MainActivity.java
public class MainActivity extends BaseActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 登录成功,开始计时
startTimer();
}
}
4.2 BaseActivity.java
public class BaseActivity extends Activity {
// 都是static声明的变量,避免被实例化多次;因为整个app只需要一个计时任务就可以了。
private static Timer mTimer; // 计时器,每1秒执行一次任务
private static MyTimerTask mTimerTask; // 计时任务,判断是否未操作时间到达5s
private static long mLastActionTime; // 上一次操