Правильные флаги для запуска действия из пусковой установки


У меня есть приложение, которое запускает приложение, выбранное пользователем, когда на него нажимают (как это делает лаунчер). Обратите внимание, однако, что фактический запуск приложения выполняется службой из-за абстракции.

Одна заметка пользователя: Запуск greader из вашего приложения открывает greader, как если бы он никогда не использовался, запрашивая данные учетной записи и т. д., независимо от того, были ли они введены ранее. Запуск greader из любого другого метода (Nova laucher app drawer) возвращает меня к моему обычному канал новостей.

Другие пользователи сообщают о проблемах с корневым проводником при запуске.

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

Эти флаги: Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED

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

Спасибо за любые помогите

1 3

1 ответ:

Проблема была не в самих флагах, они были просто прекрасны. Эта проблема заключалась в том, что действие не было установлено должным образом. Проблема была решена путем инициализации намерения следующим образом:

Intent i = new Intent(Intent.ACTION_MAIN);
i.addCategory(Intent.CATEGORY_DEFAULT);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);