Ориентация камеры возвращается к значению по умолчанию после вызова onStop предыдущего действия - PullRequest
0 голосов
/ 06 февраля 2012

У меня вопрос к моему приложению для Android. В моем основном упражнении, указанном в упражнении B, я настроил ориентацию камеры так же, как на дисплее, в onResume (). Перед тем, как перейти к действию B, у меня есть другое действие (упомянутое действие A), и похоже, что ориентация камеры возвращается к настройке по умолчанию, которую он вызывает для onStop ()

действия A

Вот поток:

Activity A onCreate()
Activity A onResume()
Activity A onPause()
Activity B onCreate()
Activity B onResume()
  set mCamera.setDisplayOrientation(result);
----> set properly, i can see the good orientation about 1-2 ms.
Activity A onStop()
----> camera orientation goes to default.
----> If i didn't do anything here, device will sleep, once i wake up, i can get the camera orientation i want
Activity B onPause() --> due to device sleep
Activity B onResume() ---> because I turn on back device
  set mCamera.setDisplayOrientation(result);
---> camera orientation is good now

Мой вопрос «Как настроить так, чтобы предыдущая операция onStop () не меняла ориентацию обратно на стандартную?»

Я добавил android: alwaysRetainTaskState = "true" в файле манифеста для моей активности B, но он не работает

Заранее спасибо.

1 Ответ

0 голосов
/ 06 февраля 2012

Сохранить логическое значение в sharedPreferences в действии B после установки ориентации.Ложь может означать одну ориентацию, а истина может означать другую.Затем вы можете проверить логическое значение в onResume из Activity B. Этот способ позволит вам сохранить ориентацию между действиями в приложении или очисткой данных из памяти.

Примечание. Вы можете сохранить любые примитивные данные и строки в sharedPreferences.Я просто выбрал логическое значение, потому что вам нужно было сохранить только 2 состояния.

...