有什麼辦法從應用程序名稱獲取包名? 對於例如,如果應用程序的名稱與位置,我可以得到它的包名com.android.location,這樣我就可以殺死它使用如何使用名稱來殺死應用程序?
am.killBackgroundProcesses(包名)
或有人直接知道任何功能,用應用程序名稱殺死。任何其他建議?
有什麼辦法從應用程序名稱獲取包名? 對於例如,如果應用程序的名稱與位置,我可以得到它的包名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"/>
restartPackage()已過時。改用killBackgroundProcesses()。 – Guian