2011-12-28 65 views
1

我正在编写拦截应用程序启动的应用程序,将其杀死,然后在满足某些权限时重新启动应用程序。我设法通过监视系统日志的服务来弄清楚第一部分(启动应用程序)。我现在正在努力处理刚刚启动的应用程序。我试图使用:如何从另一个服务中杀死Android应用程序和所有正在运行的服务/任务?

ActivityManager.killBackgroundProcesses(packageName); 

但我不确定这是否会杀死整个应用程序,包括它启动的所有服务/任务。我已经尝试使用killBackgroundProcesses()来不分青红皂白地杀死所有正在启动的应用程序,但应用程序似乎仍然开始。

我也尝试过android.os.Process.killProcess(pid),传递其他应用程序的pid,但该应用程序似乎仍然开始。

回答

1

每项活动都有自己的processID,而服务没有自己的id或其他内容,service是Activity的一部分。当你杀死活动进程中的将停止所有的部分任务或服务太

参考http://developer.android.com/resources/faq/framework.html

+0

感谢。所以如果我杀了这个进程,它会阻止应用程序的所有部分运行并从内存中移除它? 我怎样才能杀死另一个应用程序的进程?我试过android.os.Process.killProcess(PID),但没有奏效。当我尝试从adb shell中“杀死pid”时,虽然它工作。 – user1118764 2011-12-28 06:58:23

+0

请参阅http://stackoverflow.com/questions/4921244/android-task-kill – 2011-12-28 07:16:44

+0

因此,似乎没有办法一个服务来杀死另一个进程/应用程序? – user1118764 2011-12-28 07:22:59

相关问题