Android - убить другое приложение без разрешения системы - PullRequest
1 голос
/ 23 октября 2019

У меня есть приложение, которое может запускать другие приложения.

Это работает, я могу это сделать.

Теперь я хотел бы также убить приложения, запущенные моим приложением.

Но я не могу найти способ сделать это (Мое приложение не имеет системных разрешений).

Я попытался перечислить все запущенные в данный момент процессы, чтобы получить их PID иубить его, но я могу получить только PID моего приложения.

Я пытался убить фоновый процесс (я знаю имя пакета приложения), но он не работает.

Итак, есть ли способ убить другие приложения с моим приложением, не имея системных разрешений?

1 Ответ

1 голос
/ 23 октября 2019

Я думаю, что прежде всего для этого вы должны внимательно прочитать рекомендации Google, чтобы убедиться, что вам нужно их опубликовать. Важно спросить разрешение на все у конечного пользователя. В конечном счете, вы можете увидеть, не ошибаюсь ли я, какие другие пакеты находятся во время выполнения, как только вы узнаете об этом, вы можете найти способ убить их. Попробуйте это и добавьте разрешение «android.permission.KILL_BACKGROUND_PROCESSES» в свой манифест:

private void killOtherApps(String packageTokill){

    List<ApplicationInfo> packages;
    PackageManager pm;
    pm = getPackageManager();
    //get a list of installed apps.
    packages = pm.getInstalledApplications(0);


    ActivityManager mActivityManager = (ActivityManager) MainActivity.this.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;
        }
        if(packageInfo.packageName.equals(packageTokill)) {
            mActivityManager.killBackgroundProcesses(packageInfo.packageName);    
        }

    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...