У меня активность с полупрозрачной темой:
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