应用程序在退出杀死进程的时候,使用

1    finish();---------------关闭Activity

2    system.exit(0);----------------退出java虚拟机,每一个安卓程序打开的同时都会产生一个java虚拟机;

3   android.os.Process.killProcess(android.os.Process.myPid());-----------杀死当前进程;

中的任何一个好像都好像没杀干净,一会儿程序又复活了,这是因为你的程序在启动的时候也开启的服务,服务把你程序的进程又给唤醒了,导致你的程序

复活,解决的办法就是关闭服务,关闭进程,这样应用程序就能干净的退出了,不会在像病毒一样除不去了,关闭服务请参考以下代码:

startService对应unbindService;    

this.bindService对应stopService(commonintent);

 

 

 

附加上我杀死进程的代码:

ActivityManager am = (ActivityManager)getSystemService(getApplicationContext().ACTIVITY_SERVICE);
   am.restartPackage(getPackageName());

      this.unbindService(mServiceConnection);
      this.stopService(commonintent);
      android.os.Process.killProcess(android.os.Process.myPid());
   System.exit(0);

 还需要添加权限:

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

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐