清除以上marshmallow设备上应用程序中的所有最新应用程序

时间:2018-04-27 07:13:35

标签: java android rx-java android-6.0-marshmallow kill-process

我尝试了这段代码,但它没有用。我正在上面的marshmallow设备上进行测试。 android是否允许在没有系统应用程序或root

的情况下执行此操作
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);
   } 

我也是这个代码部分,但给了我这个错误:

  

java.io.IOException:无法运行程序“su”:error = 13,Permission denied

try {
                        Process suProcess = Runtime.getRuntime().exec("su");
                        DataOutputStream os = new DataOutputStream(suProcess.getOutputStream());

                        os.writeBytes("adb shell" + "\n");
                        os.flush();

                        Context newContext = LauncherActivity.this;
                        ActivityManager activityManager = (ActivityManager) newContext.getSystemService(Context.ACTIVITY_SERVICE);
                        List<ActivityManager.RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();
                        for (ActivityManager.RunningAppProcessInfo appProcess : appProcesses) {
                            if (appProcess.processName.equals("packagename")) {
                            } else {
                                os.writeBytes("am force-stop " + appProcess.processName + "\n");
                            }
                        }

                        os.flush();
                        os.close();
                        suProcess.waitFor();

                    } catch (IOException ex) {
                        ex.getMessage();
                        Toast.makeText(getApplicationContext(), ex.getMessage(), Toast.LENGTH_LONG).show();
                    } catch (SecurityException ex) {
                        Toast.makeText(getApplicationContext(), "Can't get root access2",
                                Toast.LENGTH_LONG).show();
                    } catch (Exception ex) {
                        Toast.makeText(getApplicationContext(), "Can't get root access3",
                                Toast.LENGTH_LONG).show();
                    }

1 个答案:

答案 0 :(得分:0)

您无法清除最近的其他应用程序。您可以从最近清除或隐藏您的应用程序。