android 监听应用前后台运行状态
首先 此文章适用于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是说明是置于后台状态或退出应用*这里写代码片*
更多相关文章
- android OnPageChangeListener
- android4.4.2 bluetooth解析(二)
- android中SQLite的使用总结,用excSQL和rawQuery方法实现一般得增
- Android(安卓)Editable
- View去锯齿,在有些机器需要在图层的软件层才能实现
- Android(安卓)NDK学习笔记11-JNI异常处理
- Android(安卓)Studio 使用平台特性的jar包
- Android(安卓)Zygote进程源码分析
- android 底部弹出提示框的实现方式