У меня есть активность с полупрозрачной темой:
android:theme="@android:style/Theme.Translucent.NoTitleBar"
Также проблема воспроизводится только с помощью этой темы:
<style name="MyTheme" parent="@android:style/Theme">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:colorBackground">@null</item>
</style>
Эта операция загружается при запуске и сохраняется в памяти (когда я запускаю эту операцию, я добавляю флаг FLAG_ACTIVITY_REORDER_TO_FRONT
как дополнительный).
Проблема: когда я запускаю это действие (из меню), активность не отображается, ничего не происходит. Но: если я удаляю полупрозрачную тему: все работает нормально, активность возвращается на передний план.
Да onNewIntent() вызывается.
И если я вернусь, полупрозрачная активность будет ниже! Но он должен быть вершиной.
Примером является
A (полупрозрачная активность) B C
Стек: A
A startActivity (B)
Стек: A, B
B startActivity (C)
Стек: 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