Android应用前后台监听最简单的方法
16lz
2021-12-04
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(安卓)Testing Point
- Android:管理应用内存
- Android(安卓)apps应用检查更新代码
- Android异常捕获防止崩溃弹框
- android正确使用killProcess完全退出应用
- android TabLayout的应用
- android 应用程序性能跟踪
- android manifest.xml中元素含义