Я использую специальное приложение Launcher с виджетами, которые используются для запуска (и предоставления обновлений статуса) для приложения.Launcher не возвращается к последнему используемому действию в моем приложении
Приложение состоит из нескольких видов деятельности - назовем их A, B и C для простоты.
A Начальная деятельность. Пользователь переходит от A к B, а затем к C (никогда в другом порядке).
В любое время пользователь может нажать кнопку «Главная» на пульте дистанционного управления и вернуться в приложение запуска.
Если пользователь затем нажимает кнопку «Назад» на пульте дистанционного управления, они всегда возвращаются к действию, которое они использовали в последний раз (A, B или C).
Однако, если они нажимают на виджет (а не нажимают назад), то действие, которое отображается спереди, кажется непоследовательным!
Итак, вот пример того, что происходит
Из (настраиваемого) пусковой установки, использования виджета запуска приложений
Activity A появляется
пользователь нажимает кнопку, которая запускает активность B
активность B появляется
пользователь нажимает 'Home'
Launcher появляется
Из (настраиваемого) пусковой установки, использования виджета запуска приложений
Activity A появляется НЕ B
Иногда я получаю Activity B вместо Activity A, но я не уверен, при каких обстоятельствах. I хочу, чтобы получить активность в верхней части стека, которая будет отображаться, и never любая другая деятельность (операция B в приведенном выше примере).
Я прочитал документацию Google о флажках активности («однозадачность», «один экземпляр» и т. Д.), Но ничто, казалось, не выпрыгивало как решение моей проблемы.
В моем случае, действия A, B, C имеют смысл только при запуске в этом порядке - и никогда не имеет смысла видеть предыдущую деятельность, если вы явно не вернетесь к ней.
Я не уверен, что проблема заключается в том, как виджет запускает приложение, или есть что-то, что мне нужно указать в моем манифесте или что-то еще.
Любые идеи?
Спасибо,
Dan
Спасибо за ответ. Тревожное дело - кажущаяся случайность, с которой Activity отображается после возвращения в приложение. Документы не очень ясны в отношении того, как это должно работать. Я прочитал, что действия в задаче никогда не переупорядочиваются (если вы специально не запрашиваете это), и что запуск приложения с флагом Intent FLAG_ACTIVITY_NEW_TASK должен либо начать новую задачу, либо если эта операция уже запущена, перенести эту задачу на передний план (см. http://developer.android.com/reference/android/content)/Intent.html#FLAG_ACTIVITY_NEW_TASK). – Dan
Кроме того - для решения проблемы нехватки памяти - я не верю, что это так, потому что я вижу, что с помощью logcat все действия выполняются. – Dan