如何使用其名称杀死应用程序?

时间:2011-07-08 11:47:55

标签: android

有没有办法从应用程序名称获取包名? 例如,如果应用名称是位置,我可以获得其包名com.android.location,以便我可以使用

杀死它

am.killBackgroundProcesses(包名)

或者有人知道使用app名称直接杀死的任何功能。任何其他建议??

2 个答案:

答案 0 :(得分:8)

这将获得所有正在运行的进程并遍历所有进程以找到具有指定名称的进程并终止该进程。

String nameOfProcess = "location";
ActivityManager  manager = (ActivityManager)this.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> listOfProcesses = manager.getRunningAppProcesses();
for (ActivityManager.RunningAppProcessInfo process : listOfProcesses)
{
    if (process.processName.contains(nameOfProcess))
    {
        // Ends the app
        manager.restartPackage(process.processName);
        break;
    }
}

要使用此方法,您需要以下权限:

<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.RESTART_PACKAGES"/>

答案 1 :(得分:0)

没有直接的方法可以做到这一点。您可以浏览所有软件包,获取其应用程序标签,并根据您的意愿杀死它们。

PackageManager

您可以使用相当多的方法。