Программное обеспечение, удаляющее приложение Android из списка последних приложений

Что происходит на системном уровне, когда мы нажимаем аппаратную кнопку "Недавние приложения", а в окне "Недавние приложения" удаляем приложение? На уровне пользователя приложение удаляется из списка, если приложение запустило службу, оно теряет процесс приложения и перезапускается.

Мне нужно повторить это действие пользователя (удаление программы из списка недавних приложений) программным обеспечением из самого приложения со всеми связанными системными процедурами. Или удалить из списка другое приложение.

Скрывать приложение через Android-манифест (например, android: excludeFromRecents) не подходит.

Кто может помочь в этом вопросе, пожалуйста, посоветуйте решение.

2 ответа

Решение

Это решение помогает мне:

Android SDK 21 имеет метод finishAndRemoveTask, он решает проблему.

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
{
    finishAndRemoveTask();
} else
{
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN)
    {
        finishAffinity();
    } else
    {
        finish();
    }
}
Process.killProcess(Process.myPid());

Когда вы удаляете запись из списка последних приложений, вы удаляете задачу, связанную с процессом приложения (который может содержать несколько действий). Вы можете сделать это с помощью программного обеспечения, НО вам понадобятся два разрешения, которые можно использовать только в том случае, если ваше приложение имеет привилегии системного уровня (это не ваш случай, потому что только приложения уровня прошивки могут иметь это со специальным ключом подписи). Проверьте этот ответ.

Другие вопросы по тегам