我对我的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”,但它无法正常工作
提前致谢。
答案 0 :(得分:0)
在设置方向后,在活动B中的sharedPreferences中保留一个布尔值。虚假意味着一个方向,而真实意味着另一个方向。然后,您可以检查活动B的onResume中的布尔值。这样,您可以保持应用程序中活动之间的方向或清除内存中的数据。
注意:您可以在sharedPreferences中保存任何原始数据和字符串。我只选择了布尔值,因为你只需要保存2个状态。