可能重复:
Flash light is getting switch off while changing the orientation
我正在构建一个Android应用程序。在配置更改时,闪光灯熄灭。然后我需要再次单击“开”按钮将其打开。怎么能在我的应用程序中保持打开状态?
答案 0 :(得分:0)
将android:configChanges="keyboardHidden|orientation"
添加到Android清单文件中的活动。
答案 1 :(得分:0)
当您更改方向时,整个活动已被销毁,并且已创建新活动。所发生的事情是活动正在失去闪存的当前状态并且关闭。
尝试禁用清单中的方向更改。并在Onstop中保存flsh的当前状态并重置OnStart中的状态。
我相信这对你有用。
答案 2 :(得分:0)
基本问题是默认情况下配置更改会重新创建Activity,所以如果你在活动中进行一些递归管理,你必须记住它。
有两种相反的解决方案:
通过添加您将手动处理的配置更改的活动列表的清单属性android:configChanges
来禁用对配置更改的重新创建,例如"keyboardHidden|orientation|screenSize"
(需要screenSize
自Adnroid 3.1)。在这种情况下,您可以通过重写方法onConfigurationChanged来处理配置更改。
通过重写方法onSaveInstanceState来处理活动的重新创建,并在bundle中保存活动状态。然后在onCreate
中设置参数savedInstanceState
时(非空),您应该从该包中恢复状态(恢复闪光灯的状态)。
方法的选择取决于您的活动设计。