有没有办法从应用程序名称获取包名? 例如,如果应用名称是位置,我可以获得其包名com.android.location,以便我可以使用
杀死它am.killBackgroundProcesses(包名)
或者有人知道使用app名称直接杀死的任何功能。任何其他建议??
答案 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)