startActivity из фонового сервиса приводит к странному поведению переключения задач - PullRequest
0 голосов
/ 21 октября 2011

Мое приложение состоит в основном из двух действий, A и B, и фоновой службы (запускаемой по тревоге).Деятельность A является пусковой (основной) деятельностью.Действие B время от времени запускается фоновой службой с установленным FLAG_ACTIVITY_NEW_TASK (это необходимо для запусков действия в службах bg).

Желаемое поведение : при каждом выходе из приложения (возвратна домашний экран, кнопку и т. д.), и пользователь возвращается к нему, должно быть возобновлено действие A.

Моя проблема : всякий раз, когда B был запущен фоновой службой, приложение будет всегда возврат к B с помощью переключателя активности (длительное нажатие кнопки «Домой»), независимо от того, закрыл я его кнопкой назад или нет.Тогда я смогу вернуться к действию А только в том случае, если выберу домашнюю иконку приложения (поскольку затем А запускается как операция запуска).

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

Может кто-нибудь объяснить мне, в чем здесь дело?

1 Ответ

3 голосов
/ 21 октября 2011

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

android:taskAffinity="" 
android:excludeFromRecents="true" 
android:launchMode="singleInstance"
...