我有一個顯示相機預覽的應用程序,我希望用戶能夠將手機置於睡眠狀態,然後將其喚醒,以便我的應用程序能夠正確恢復。問題是,從睡眠中返回時,相機預覽不會重新啓動。如何從睡眠中恢復相機預覽?
我已經實現了api演示中呈現的相機預覽,但似乎api演示示例僅通過純粹的運氣才起作用。在該示例中,屏幕方向被強制爲橫向,這意味着每次手機進入休眠狀態時,手機都會進行配置更改,因爲鎖定屏幕處於縱向模式。如果在相機預覽應用程序(如我的)中使用肖像模式,則會出現bug表面。
我收集到的錯誤與表面視圖的重新創建有關。表面在onPause時應該被銷燬,然後在onResume之後重新創建,但是在睡覺時不會發生。看起來我必須銷燬整個活動,然後重新創建它以使相機預覽再次運行。我希望能夠重新創建表面視圖。
除了重新創建整個活動外,是否有強制重新繪製表面視圖的方法?
+1謝謝,確實有幫助!但是:在相機實現中,我還必須傳遞所拍攝和保存的圖像的文件Uri,而不是將原始字節數組傳回給調用相機的活動,因爲嘗試傳遞字節數組導致Failed Binder睡眠後的交易。 – AgentKnopf
Jason的解決方案適用於我的4.0及更高版本的設備,但是我的3.0及更低版本的設備仍然表現出相同的症狀。有小費嗎? – rotinegg