1、最近有个需求客户安装了一个apk,但是他的apk有又写了服务保活,所以直接上拉杀掉进程的时候服务并没有杀死,他希望在上滑杀掉这个apk进程时彻底干掉它,从点击recent的时候一步一步跟踪,最后直接上代码。
frameworks\base\services\core\java\com\android\server\wm\ActivityTaskManagerService.java
2、如果是点击全部清应用,就在这个方法里面调用
3、能彻底杀死进程和服务的用这个方法
private void killAssignPkg(String packageName){
ActivityManager mActivityManager = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);
Method method = null;
try {
method = Class.forName("android.app.ActivityManager").getMethod("forceStopPackage", String.class);
method.invoke(mActivityManager, packageName);
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}