Android 程序进入后台 恢复到前台
来源:互联网 发布:冲压模具书籍 知乎 编辑:程序博客网 时间:2024/05/22 04:38
用户点击home键程序进入后台,此时用户再点击图标或在最近运行程序中打开程序,程序进入前台,有没有一个简单方便的方法来实现监听状态变化呢?
有人说监听home键,也有人说所有Activity继承一个BaseActivity,我的方法是通过Application里的registerActivityLifecycleCallbacks,
ActivityLifecycleCallbacks可以监听程序里所有Activity的生命周期方法,Activity执行onStart时存入List,onStop时从List中移除,
当List的size为0时说明程序进入后台。
我这里还有一个LIst用来存放所有没被finish掉的Activity,onCreate时存入,onDestory时移除,用于关闭程序或退出登录时批量关闭Activity。直接看代码吧
public class CustomApplication extends MultiDexApplication { Context mContext; private static CustomApplication instance; public static List<Activity> activityList;//用于关闭程序、退出登录 private List<Activity> mList; private boolean mIsAppOnForeground;//程序在前台运行 public static synchronized CustomApplication getInstance() { return instance; } @Override public void onCreate() { super.onCreate(); instance = this; mContext = this.getApplicationContext(); activityList = new ArrayList<Activity>(); mList = new ArrayList<Activity>(); mIsAppOnForeground = false; JodaTimeAndroid.init(this); initImageLoader(); this.registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() { @Override public void onActivityCreated(Activity activity, Bundle bundle) { if (!activityList.contains(activity)) { activityList.add(activity); } } @Override public void onActivityStarted(Activity activity) { if (!mList.contains(activity)) { mList.add(activity); } if (!mIsAppOnForeground) { updateJpushInfo(); mIsAppOnForeground = true; } } @Override public void onActivityResumed(Activity activity) { } @Override public void onActivityPaused(Activity activity) { } @Override public void onActivityStopped(Activity activity) {
if (mList.contains(activity)) { mList.remove(activity); } if (mList.size() == 0) { mIsAppOnForeground = false; } } @Override public void onActivitySaveInstanceState(Activity activity, Bundle bundle) { } @Override public void onActivityDestroyed(Activity activity) { if (activityList.contains(activity)) { activityList.remove(activity); } } }); } @Override public void onTerminate() { super.onTerminate(); }}
0 0
- Android 程序进入后台 恢复到前台
- 如何监听android程序进入后台,和恢复到前台???
- Android监听程序进入后台,或者恢复到前台
- Android监听程序进入后台,或者恢复到前台
- Android监听程序进入后台,或者恢复到前台
- Android监听程序进入后台,或者恢复到前台
- Android监听程序进入后台,或者恢复到前台
- Android监听程序进入后台,或者恢复到前台
- Android监听程序进入后台,或者恢复到前台
- [Android界面] 如何监听android程序进入后台,和恢复到前台???
- Android 从后台进入前台
- Android 后台播放FM或者Music,前台进入VideoPlayer再退出,后台不能恢复
- 判断应用程序运行状态,退出程序的方法,程序从后台恢复到前台
- 添加程序进入后台,进入前台的通知
- 收到通知时启动应用或将程序成后台恢复到前台的做法
- android手势解锁-------后台恢复到前台就启动手势解锁
- Android APP应用退到后台后再打开老是恢复到前台
- android手势解锁-------后台恢复到前台就启动手势解锁
- dream & game!
- Javascript-Arrays
- LeetCode94 Binary Tree Inorder Traversal(迭代实现) Java
- C++作业4
- Node.js#0基础
- Android 程序进入后台 恢复到前台
- ZOJ 2965 Accurately Say "CocaCola"!
- ext Ext.data.MemoryProxy做代理加载dom
- R语言向量、矩阵用法 第一节后续
- 有关shell
- 算法教程1:手撸实现一个二分查找代码
- python 试验7 简单抽奖程序
- caffe for windows(win7+VS2012+CUDA6.5)(上)
- TCP\IP卷一(第五章学习)