1. android.os.Process.killProcess(android.os.Process.myPid())
这种方法好像只能结束本次的activity,如果A 启动 B 而 A 没有 finish,这时用这种方法,只是顶层activity被关闭,A依然在那。
2. 利用Android的activity 栈
<strong> ActivityManager manager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
List<AppTask> appTasks = manager.getAppTasks();
if(appTasks !=null) {
for (AppTask appTask : appTasks) {
appTask.finishAndRemoveTask();
}
}</strong>
这种方法可以完全退出程序,不过只能用在android 5.0 以上。
3.自己建立activity列表进行管理
<strong>public static List<Activity> activities = new ArrayList<>();</strong><strong> @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
activities.add(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
if(activities.contains(this)){
activities.remove(this);
}
}</strong><strong> public static void close(){
for(Activity activity:activities){
activity.finish();
}
activities = null;
System.exit(0);
}</strong>可以将这些代码写在父类里BaseActivity,然后你activity继承父类,在需要关闭的时候调用close就行了。
第一次博客,没什么不对的地方,望大牛指导一二
本文介绍了三种退出Android应用程序的方法,包括使用android.os.Process.killProcess()、利用Android的activity栈(仅适用于Android 5.0以上)以及自建activity列表进行管理。在不同情况下,这些方法能不同程度地关闭应用。
1万+

被折叠的 条评论
为什么被折叠?



