我正在构建一个应该能够关闭其他Android应用程序的应用程序。在这种情况下,我使用谷歌地图。我已将Android Manifest XML中的权限授予killBackgroundProcesses,但以下代码未关闭“Google Maps”应用程序。我的应用每秒都会调用 killApp()以确保Google地图已关闭。知道我在这里做错了吗?
public void KillApp()
{
Context context = getContext();
String maps = "com.google.android.apps.maps";
ActivityManager activityManager = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
activityManager.killBackgroundProcesses(maps);
}
答案 0 :(得分:1)
您只能杀死自己的应用,例如在同一进程中运行或具有相同userID的那些。除非设备是root用户,否则你无法杀死他人。除了Android操作系统本身之外,任何人都无法杀死进程。
Android市场中的大多数任务杀手都没有杀死他们只是重启过程的应用
使用
public void restartPackage (String packageName)
当您的活动调用此方法时,操作系统立即调用
savedInstanceState并保存要杀死的活动的状态。现在这个过程是
从内存中移除并且操作系统保存状态。现在,当下次用户启动该活动时
将从它被杀死的地方开始,或者换句话说重新开始。您可以从任何
验证它 任务经理,他们不会杀死这个过程,因为没有人可以这样做。这个方法也在ICS工作。
对于上述方法,你可以在这里看看。据我所知,killBackgroundProcesses(String packageName)适用于API 8及更高版本。