Bug : Theme.Translucent & FLAG_ACTIVITY_REORDER_TO_FRONT

У меня есть активность с полупрозрачной темой :

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

17
задан Cétia 26 October 2012 в 21:06
поделиться