Android完全退出App的一些问题
16lz
2021-01-26
今天无意中在群里讨论起完全退出App的问题,纠结了很久这个System.exit(0)是否能退出程序的问题,
下面是群友:Jafir提供的参考资料:
http://www.cnblogs.com/lesliefang/p/3933640.html
http://yangguangfu.iteye.com/blog/1906601
另外
System.exit(0);与android.os.Process.killProcess(android.os.Process.myPid());
两个方法退出不了程序,这里感谢群友_Berial_提供的完全退出App的代码,下面分享下:
完全退出App的方法:
/** * 退出应用程序 */public void AppExit(Context context) {try {ActivityCollector.finishAll();ActivityManager activityMgr = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);activityMgr.killBackgroundProcesses(context.getPackageName());System.exit(0);} catch (Exception ignored) {}}
附上自己写的ActivityCollector:
public class ActivityCollector {public static LinkedList<Activity> activities = new LinkedList<Activity>();public static void addActivity(Activity activity){activities.add(activity);}public static void removeActivity(Activity activity){activities.remove(activity);}public static void finishAll(){for(Activity activity:activities){if(!activity.isFinishing()){activity.finish();}}}}
好了,记录完毕~
ps:差点漏掉这ActivityCollector的用法:
我们在Activity的onCreate( )方法中调用addActivity添加Activity
在onDestory( )方法中调用removeActivity移除Activity!!!
谢谢ben0612的提醒~
更多相关文章
- Android(安卓)学习记录-零散知识点
- Android(安卓)LayoutInflater深度解析 给你带来全新的认识
- 《Android第一行代码》coolweather项目个人总结
- android Window和ViewRootImpl
- ActivityManagerService启动学习
- Android9.0 Activity启动流程分析(一)
- Android(安卓)Training - 网络操作(1) - 连接网络
- MAC OSX上SDK Manager无法下载Android(安卓)SDK5.0的解决方法
- [android] Activity 的生命周期 以及 横屏竖屏切换时 Activity