Android应用前后台监听最简单的方法
16lz
2021-01-23
public class IsForeBackGroundActivityCallback implements ActivityLifecycleCallbacks { private int foregroundActivities = 0; private boolean isbackGroudAcitvity; @Override public void onActivityCreated(Activity activity, Bundle bundle) { if (bundle != null) { // 若bundle不为空则程序异常结束 // 重启整个程序 Intent intent = new Intent(activity, SplashActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK ); startActivity(intent); } } @Override public void onActivityStarted(Activity activity) { LogUtils.e("栈顶的activity======"+activity); foregroundActivities++; if (foregroundActivities == 1 && !isChangingConfiguration) { // 应用切到前台 LogUtils.e("应用切换到前台"); isbackGroudAcitvity= false; } @Override public void onActivityResumed(Activity activity) { } @Override public void onActivityPaused(Activity activity) { } @Override public void onActivityStopped(Activity activity) { foregroundActivities--; if (foregroundActivities == 0) { // 应用切到后台 LogUtils.e("应用切换到后台"); isbackGroudAcitvity= activity.isChangingConfigurations(); } @Override public void onActivitySaveInstanceState(Activity activity, Bundle bundle) { } @Override public void onActivityDestroyed(Activity activity) { }}
废话不多说,直接使用:在Application 的onCreate方法注册:
registerActivityLifecycleCallbacks(new IsForeBackGroundActivityCallback ());
就这么简单。
更多相关文章
- Android 获取本机安装的应用程序
- android:设计一个能在图片上涂鸦的程序。
- Android情景模式、文件管理器 完整示例编程详解、Android程序优
- android 应用程序性能跟踪
- Qt之Qt5.7开发Android应用程序小试牛刀
- 近百android程序源码贡献 转载的自己看的
- Android应用程序获取ROOT权限的方法 (基础篇)
- Android接收程序安装、替换、卸载广播
- 程序中如何获取Android的Root权限