我正试图找到如何杀死当前任务在android Marshmallow我已经有两种方法,但两者在Android 4.0.3和Android 5.0.1工作正常,但当我尝试在Android 6.0.1她没有'解决这个问题的任何想法!,
List<ApplicationInfo> packages;
PackageManager pm;
pm = getPackageManager();
//get a list of installed apps.
packages = pm.getInstalledApplications(0);
ActivityManager mActivityManager = (ActivityManager)getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE);
String myPackage = getApplicationContext().getPackageName();
for (ApplicationInfo packageInfo : packages) {
if((packageInfo.flags & ApplicationInfo.FLAG_SYSTEM)==1)continue;
if(packageInfo.packageName.equals(myPackage)) continue;
mActivityManager.killBackgroundProcesses(packageInfo.packageName);
}
和这个方法:
ActivityManager am = (ActivityManager) getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE);
for (ActivityManager.RunningAppProcessInfo pid : am.getRunningAppProcesses()) {
am.killBackgroundProcesses(pid.processName);
}
答案 0 :(得分:0)
尝试在第二种方法中使用它。
android.os.Process.killProcess(pid);
使用给定的PID终止进程。请注意,尽管此API允许我们根据其PID请求终止任何进程,但内核仍将对您实际可以杀死的PID施加标准限制。通常,这意味着只有运行调用者程序包/应用程序的进程以及该应用程序创建的任何其他进程;共享一个共同UID的软件包也可以杀死彼此的进程。 取自here
我还建议您使用
获取应用程序IDandroid.os.Process.myPid();