android 怎么做到完全退出应用程序

android 如何做到完全退出应用程序

当我在网上找“android 如何完全退出应用程序时”十有八九都是

android.os.Process.killProcess(android.os.Process.myPid());
又或者是

System.exit(0);

但这些未必对每一个应用程序都有效果。

当你的应用程序中有很多Activity ,有很多Service,有很多线程,你就不要指望能通过以上方法来完全关闭你的进程了,当然还有其他几种方法我没有试,

但是估计都不行。


原因就在于android应用程序的管理机制限制的,包括service在内都是关闭后会在后台自启动的。

废话不多说,解决办法有两步

1.看下AndroidManifest.xml里面注册的广播,如果应用程序被kill掉后接受到此类广播还是会restart的

2.在

android.os.Process.killProcess(android.os.Process.myPid());
后加入如下代码

		ActivityManager activityMgr= (ActivityManager) getSystemService(ACTIVITY_SERVICE );
					activityMgr.killBackgroundProcesses(getPackageName());

同时AndroidManifest.xml里面加入权限

<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />