调用上一个活动的onStop后,摄像头方向将恢复为默认值

时间:2012-02-06 19:45:11

标签: android camera orientation

我对我的Android应用程序有疑问。 在我的主要活动中,表示活动B,我将相机方向设置为与显示相同,位于onResume()。 在进入活动B之前,我有另一个活动(表示活动A),看起来相机方向回到默认值,它调用活动A的onStop()

以下是流程:

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()不会将方向改回默认值?”

我在我的活动B的清单文件中添加了android:alwaysRetainTaskState =“true”,但它无法正常工作

提前致谢。

1 个答案:

答案 0 :(得分:0)

在设置方向后,在活动B中的sharedPreferences中保留一个布尔值。虚假意味着一个方向,而真实意味着另一个方向。然后,您可以检查活动B的onResume中的布尔值。这样,您可以保持应用程序中活动之间的方向或清除内存中的数据。

注意:您可以在sharedPreferences中保存任何原始数据和字符串。我只选择了布尔值,因为你只需要保存2个状态。