我有两个不同的应用程序,这个假设有两个应用程序是A和B.在A app上有很多服务,我的任务是要使用B的方法杀死A的服务,但A和B不是apk,是不同的应用程序。
i used :
ActivityManager manager = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
List<RunningAppProcessInfo> activityes = ((ActivityManager) manager).getRunningAppProcesses();
for (int i = 0; i < activityes.size(); i++){
Log.e("APP: "+i, activityes.get(0).processName);
if (!activityes.get(i).processName.contains("com.qihoo360")){
//android.os.Process.killProcess(activityes.get(1).pid);
Log.i("dfd","xx");
manager.killBackgroundProcesses("com.qihoo360.mobilesafe");
android.os.Process.sendSignal(activityes.get(1).pid, android.os.Process.SIGNAL_KILL);
}
}
但没有用。但在移动设置管理器应用程序中,它有一个关闭按钮来关闭它。如果我没有权限杀死另一个应用程序,因为系统安全。
答案 0 :(得分:1)
你甚至不应该试图以这种方式杀死服务。
停止使用服务中的广播接收器,并从想要停止广播的应用发送广播。
这使接收方可以决定它是否已完成并正常释放资源。
你应该有一个非常好的理由甚至试图强行杀死进程。
答案 1 :(得分:1)
你应该看一下intent-filters。确保您的应用程序有权访问该服务和您的其他应用程序。希望这个链接可以帮助你:http://justanapplication.wordpress.com/2011/02/16/the-android-intent-based-apis-part-five-services-and-intents/
答案 2 :(得分:0)
在尝试此操作之前,您应该参考服务被杀死的源代码。这将帮助您弄清楚您需要什么。
不要尝试编写没有某些结构的编码,以及如何实现它。