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

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

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

Другие пользователи сообщают о проблемах с аварийным завершением работы root explorer.

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

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

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

Спасибо за любую помощь

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);
Другие вопросы по тегам