有没有办法从应用程序名称中获取包名称?? 例如,如果应用程序名称是 location,我可以获取它的包名称 com.android.location,以便我可以使用
杀死它am.killBackgroundProcesses(包名)
或者有人知道任何函数直接使用应用名称杀死。还有其他建议吗??
最佳答案
这将获取所有正在运行的进程并遍历所有进程以找到具有指定名称的进程并终止进程。
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"/>
关于android - 如何使用它的名字杀死应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6623961/