首先 此文章适用于API14及以上。
1.建立Application extends Application
2. 在onCreate方法中:
public int count = 0;
@Override
public void onCreate() {
super.onCreate();
context = getApplicationContext();
/*
此监听为监控应用是否在前后台
*/
registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
@Override
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
}
@Override
public void onActivityStarted(Activity activity) {
if (count == 0) {
//Log.v("tag", ">>>>>>>>>>>>>>>>>>>切到前台 lifecycle");
// 首先计算时间 网络请求判断是否进入手势密码验证界面
Log.v("cjq", ">>>>>>>>>>>>>>>>>>>切到前台 lifecycle");
//
// Date date2 = new Date();
// returnTime = date2.getTime();
// double sub = BigDecimalUtils.sub2(new BigDecimal(returnTime), new BigDecimal(time));
// if (sub >= 300000d) {
// //判断进入解锁手势密码
// } else {
// time = -1;
// }
}
count++;
Log.v("cjq", ">>>>>>>>>>>>>>>>>>>切到前台 lifecycle "+count);
}
@Override
public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
}
@Override
public void onActivityResumed(Activity activity) {
}
@Override
public void onActivityPaused(Activity activity) {
}
@Override
public void onActivityStopped(Activity activity) {
count--;
// if (count == 0) {
// Log.v(“tag”, “>>>>>>>>>>>>>>>>>>>切到后台 lifecycle”);
// date = new Date();
// time = date.getTime();
// } else {
// time = -1;
// }
Log.v(“tag”, “>>>>>>>>>>>>>>>>>>>切到后台 lifecycle “+count);
}
@Override
public void onActivityDestroyed(Activity activity) {
Log.v("tag", ">>>>>>>>>>>>>>>>>>>杀死 lifecycle "+count);
}
});
}
“`
注解: 应用开始时count为0;
onActivityStarted方法监听activity启动 启动一个 count+1;
onActivityStopped方法监听activity停止 也就是置于后台或杀死。count-1;
当count为0是说明是置于后台状态或退出应用*这里写代码片*