Очистить все последние приложения из приложения на вышеупомянутых зефирных устройствах - PullRequest
0 голосов
/ 27 апреля 2018

Я попробовал этот код, но он не работает. Я тестирую его на вышеперечисленных устройствах. Позволяет ли android делать это без системного приложения или рута

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": ошибка = 13, разрешение отклонено

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 голосов
/ 28 апреля 2018

Вы не можете удалить другие приложения из последних. Вы можете очистить или скрыть только вашу заявку из недавних.

...