Android Запустите активность из службы, не запуская другие действия приложения
Я начинаю работу с Theme.Dialog на IncomingCall обнаружен; однако, когда я начинаю свою диалоговую деятельность, она скрывает экран входящих вызовов, а это не то поведение, которое мне нужно. Я хочу запустить это диалоговое действие в одиночку, чтобы оно отображалось в верхней части экрана входящего вызова, а НЕ ВСЕ приложение в верхней части экрана входящего вызова. Я использовал SingleTask в манифесте и флаге NEW_TASK и использовал все виды контекстов. в качестве подсказки, я хочу сделать что-то вроде Android-приложения TrueCaller.
2 ответа
Вы должны убедиться, что действие с темой диалога имеет схожую задачу с остальной частью вашего приложения. В противном случае, если ваше приложение запущено, запуск этой активности (даже с FLAG_ACTIVITY_NEW_TASK
) просто перенесет существующую задачу и поставит вашу деятельность на первое место.
Для этого конкретного действия необходимо добавить следующее в манифест:
android:taskAffinity=""
android:noHistory="true"
android:excludeFromRecents="true"
ПРИМЕЧАНИЕ. Настройка noHistory
а также excludeFromRecents
гарантирует, что эта задача не отображается в "списке последних задач".