У меня есть активность с полупрозрачной темой :
android:theme="@android:style/Theme.Translucent.NoTitleBar"
Также проблема воспроизводится только с этой темой:
Эта активность загружается при запуске и хранится в памяти (когда я запускаю эту активность, я добавляю флаг FLAG_ACTIVITY_REORDER_TO_FRONT
как дополнительный).
Проблема: когда я запускаю эту активность (из меню), активность не отображается, ничего не происходит. Но : если я убираю полупрозрачную тему: все работает нормально, активность снова появляется.
Да, вызывается onNewIntent().
И если я нажимаю назад, то полупрозрачная активность становится той, что внизу! Но она должна быть верхней.
Пример
A (полупрозрачная активность) B C
Стек: A
A startActivity(B)
Stack: A,B
B startActivity(C)
Stack: A,B,C
c startActivity(A) // с флагом FLAG_ACTIVITY_REORDER_TO_FRONT
Стек должен быть: B,C,A
но A так и не выводится на передний план, хотя вызывается onNewIntent().
Есть идеи?
Побочные заметки
Интересный вопрос без ответа: http://groups.google.com/group/android-developers/browse_thread/thread/269c67f6b39cfe45?pli=1
android:launchMode
из singleTask
или singleInstance
нежелательно использовать. Они изменяют стек и перемещают действия в свой собственный стек. Поэтому у нас больше нет A,B,C.
singleTask и singleInstance - не подходят для большинства приложений, так как они приводят к модели взаимодействия, которая, вероятно. будет незнакома пользователям и сильно отличается от большинства других приложений. приложений.
http://developer.android.com/guide/topics/manifest/activity-element.html#lmode
Всем, кто хочет получить наглядное представление launchModes, попробуйте это приложение : https://play.google.com/store/apps/details?id=com.novoda.demos.activitylaunchmode