Ошибка: тема.Прозрачный & FLAG_ACTIVITY_REORDER_TO_FRONT
У меня есть активность с полупрозрачной темой:
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
не хотят быть использованы. Они изменяют backstack и перемещают действия в свой собственный стек. Поэтому у нас больше нет 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