我之前一直采用的是System.exit(0);
今天看到有人说这个方法不太好,这是J2SE里的方法,他主要是通过终止正在运行的JAVA虚拟机,导致程序终止。
推荐以下方法:
1.杀死本进程:
android.os.Process.killProcess(android.os.Process.myPid());
2.强制关闭与该包有关的一切活动(杀死其他进程):
ActivityManager manager = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE); manager.killBackgroundProcesses("包名");
因为杀死别的进程,所以我们需要加入权限:
<uses-permission android:name="android.permission.RESTART_PACKAGES"/>
至于下面这两种方式杀死进程之后还能不能收到service,比如推送之类。我不得而知。我原来使用的System.exit(0);是可以的。
android 关闭应用
时间: 2024-09-30 13:04:15