我想停止或关闭在 android 后台运行的应用程序。可能吗?如果是这样如何实现这一点。参考任何链接将不胜感激。
提前致谢..
我想停止或关闭在 android 后台运行的应用程序。可能吗?如果是这样如何实现这一点。参考任何链接将不胜感激。
提前致谢..
您可以使用Process.killProcess(int pid)
终止与您的应用程序具有相同 UID 的进程。您可以ActivityManager.killBackgroundProcesses(String packageName),with KILL_BACKGROUND_PROCESSES
在清单中使用权限(对于 API >= 8)或ActivityManager.restartPackage (String packageName)
(对于 API < 8)来杀死指定的进程,除了前台进程。
所以如果你想在你的程序是前台进程时杀死所有其他进程,你会使用ActivityManager.killBackgroundProcesses
or ActivityManager.restartPackage
:
List<ApplicationInfo> packages;
PackageManager pm;
pm = getPackageManager();
//get a list of installed apps.
packages = pm.getInstalledApplications(0);
ActivityManager mActivityManager = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
for (ApplicationInfo packageInfo : packages) {
if((packageInfo.flags & ApplicationInfo.FLAG_SYSTEM)==1)continue;
if(packageInfo.packageName.equals("mypackage")) continue;
mActivityManager.killBackgroundProcesses(packageInfo.packageName);
}
在上面的代码片段中,每个进程都将被杀死,除非它是您的应用程序或系统进程的进程。