弄清楚了.大多数停止服务的方法都不会阻止持久标志重新启动它.这包括stopService,killBackgroundService,甚至System.exit(0);
ActivityManagerService中有一个名为forceStopPackage的隐藏函数,您可以通过反射通过ActivityManager接口调用它.需要系统权限,但如果您使用持久性,则不应该是一个问题.
在清单中:
这会杀死这个过程.给它命名过程/包.
try {
Class c;
c = Class.forName("android.app.ActivityManager");
Method m = c.getMethod("forceStopPackage",new Class[]{String.class});
Object o = m.invoke(null,new Object[]{"com.your.process"});
}catch (Exception e){
Log.e(TAG,"Failed to kill service",e);
}