при запуске с помощью кнопки «домой» функция Android будет восстановлена - PullRequest
1 голос
/ 23 июня 2011

Вот с чем у меня проблема:

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

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

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

 android:clearTaskOnLaunch="true" 
    android:alwaysRetainTaskState="false"

есть идеи здесь? спасибо.

1 Ответ

3 голосов
/ 30 июня 2011

ОК, так что получается, что если ваша деятельность объявлена ​​как singleTop, то последнее намерение доставляется каждый раз, когда вы запускаете действие, нажимая кнопку «Домой».сохранить флаг, когда намерение использовалось, но оно не работало, потому что действие было фактически уничтожено, и оно не просто меняло ориентацию.наконец то, что я сделал, это сохранил этот флаг в общих настройках и установил его в ложь каждый раз, когда я отправляю новое намерение к действию singleTop, и устанавливаю его в true каждый раз, когда используются дополнительные намерения., но мне любопытно, как такое поведение нормально: (.

...