Aktywność powraca do Portret, gdy ekran jest zablokowany

Powiązane pytania:

https://stackoverflow.com/questions/15648713/strange-behaviour-while-screen-lock-in-landscape

To dziwne zachowanie, które dostałem w moich działaniach.

Tryb portretowy (to normalne)

Naciśnij blokadę ekranu,Activity: onPause();Odblokuj ekran,Activity: onResume().

Tryb poziomy (to dziwne)

Naciśnij blokadę ekranu,Activity: onPause() -> onStop() -> onDestroy() -> onCreate() -> onStart() -> onResume() który ładujePortret układ;Odblokuj ekran,Activity: onPause() -> onStop() -> onDestroy() -> onCreate() -> onStart() -> onResume() i ładujeKrajobraz układ.

Spodziewam się:

Tryb portretowy: (taki sam)

Tryb poziomy: (powinien działać jak tryb pionowy)

Naciśnij blokadę ekranu,Activity: onPause();Odblokuj ekran,Activity: onResume().

Więc moje pytania:

Dlaczego moje działania zachowują się w ten sposób?Jak zachowują się Twoje działania?

Oryginalny opis tekstowy mojego pytania:

Gdy naciskam przycisk blokady ekranu mojego telefonu, gdy moja aktywność jest w trybie poziomym, zauważyłem (w komunikatach debugowania wysyłanych do Eclipse) aktywność jest ponownie tworzona do jej trybu portretowego (podczas gdy ekran jest czarny, oczywiście). Następnie po ponownym naciśnięciu przycisku Zablokuj ekran, aby odblokować ekran, działanie zostało zniszczone i ponownie utworzone do jego Portretu.

Jak pamiętam (nie jestem jednak pewien w 100%) i oczekuję, że moja działalność będzie podlegać tylkoonSaveInstanceState() ionPause(), gdy ekran blokady jest w trybie poziomym, podobnie jak w trybie portretu. Zamiast odtwarzać Aktywność na Portret i ponownie wracać do Krajobrazu.

Czy to, że coś pomieszałem z moim telefonem? Jak mogę przywrócić normalne działanie?

Dzięki!

Dziękujemy wszystkim za wkład w ten problem. Szczególnie dziękuję @HoanNguyen za wysiłek testowania mnie w swoich urządzeniach. A szczególnie dziękuję @Raghunandan za przeprowadzenie dogłębnej dyskusji ze mną w tej sprawie.

Podsumowując dotychczasowy wkład wszystkich, mam następujące wnioski:

1. To normalne zjawisko.

Wydaje się, że w telefonach komórkowych działające działania, które są w trybie poziomym, są przełączane w tryb portretu po zablokowaniu ekranu jest to normalne zachowanie. Tak jest przynajmniej na testowanych telefonach. Musimy więc dopilnować, aby nasze funkcje cyklu życia zawsze dbały o tę zmianę.

2. Zgadnij, że to z powodu „domyślnej orientacji” na zablokowanym ekranie.

Nie mamy dokumentacji ani wielu zasobów mówiących o tym problemie. Ale założenie, że działające działania przełączają się z powrotem na „domyślną orientację” urządzenia po zablokowaniu ekranu, jak w większości urządzeń, w których zablokowany jest ekran Portret, jest całkiem logiczne.

Dalsze badanie:

Zastanawiam się tylko, jak zachowują się działania, jeśli mamy ekran z zablokowanym krajobrazem?

questionAnswers(2)

yourAnswerToTheQuestion