可能重複:
Flash light is getting switch off while changing the orientationAndroid攝像頭閃光燈關閉後改變方向
我建立一個Android應用程序。在配置更改時,閃光燈熄滅。然後我需要再次點擊ON按鈕才能打開它。它如何在我的應用程序中保持開啓狀態?
可能重複:
Flash light is getting switch off while changing the orientationAndroid攝像頭閃光燈關閉後改變方向
我建立一個Android應用程序。在配置更改時,閃光燈熄滅。然後我需要再次點擊ON按鈕才能打開它。它如何在我的應用程序中保持開啓狀態?
基本問題是,配置更改默認重新創建活動,所以如果你在活動中進行一些遞歸管理,你必須記住這一點。
有兩個相反的解決方案:通過添加的配置更改你將手動處理活動列表的清單屬性android:configChanges
,例如"keyboardHidden|orientation|screenSize"
上配置改變活性的
禁用娛樂(因爲screenSize
需要Adnroid 3.1)。在這種情況下,您可以通過覆蓋方法onConfigurationChanged來處理配置更改。
通過重寫方法onSaveInstanceState來處理活動的娛樂活動,並在活動包內部保存活動狀態。然後在onCreate
設置參數savedInstanceState
(非空)時,您應該從該包中恢復狀態(恢復閃光狀態)。
方法的選擇取決於您的活動設計。
將android:configChanges="keyboardHidden|orientation"
加入您在android清單文件中的活動。
我已經這樣做了。按鈕點擊 –
:我會送你我的代碼 如果(isLighOn){ \t \t \t \t \t Log.i( 「信息」, 「火炬是關掉!」); \t \t \t \t \t p.setFlashMode(Parameters.FLASH_MODE_OFF); \t \t \t \t \t camera.setParameters(p); \t \t \t \t \t相機。stopPreview(); \t \t \t \t \t isLighOn = false; \t \t \t \t}其他{ \t \t \t \t \t Log.i( 「信息」, 「火炬是打開!」); \t \t \t \t \t p.setFlashMode(Parameters.FLASH_MODE_TORCH); \t \t \t \t \t camera.setParameters(p); \t \t \t \t \t camera.startPreview(); \t \t \t \t \t isLighOn = true; \t \t \t \t} –
當您改變方向時,完整的活動被破壞,並且一個新的活動被創建。所以發生什麼事情是活動失去了閃光燈的當前狀態,並且它關閉。
嘗試禁用清單中的方向更改。並將當前的flsh狀態保存在Onstop中,並重置OnStart中的狀態。
這將爲你工作,我相信。
不適用於我可以向我發送我的代碼嗎? –
你知道任何關於[this](http://stackoverflow.com/q/7899767/940096) – Praveenkumar