在网上广泛流传的三种杀死进程的方法:
1、使用android.os.Process.myPid()获取当前进程的ID,然后使用 android.os.Process.killProcess()杀死进程;
2、System.exit()方法终止当前正在运行的Java虚拟机,实现程序终止;
3、使用killBackgroundProcesses()强制关闭与该包有关联的一切执行;
在Android6.0上都已无作用,在这里分享一种6.0上支持的杀死进程的方法(反射):
代码:
try {
ActivityManager am =(ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
Method method = Class.forName("android.app.ActivityManager").getMethod("forceStopPackage",String.class);
method.invoke(am,pkgName);
}catch(Exception e){
e.printStackTrace();
}
需要导入:
import android.app.ActivityManager;
import java.lang.reflect.Method;
加上权限:
<uses-permission android:name="android.permission.FORCE_STOP_PACKAGES" />
注:此方法需要apk拥有系统权限才可使用