2014-10-03 94 views
1

我試圖打開Android攝像頭,並在不同活動中爲不同的活動持續在後臺運行,這些活動適用於Glass和非Glass設備的各種長期運行的幀使用者。這意味着當一個活動停止時,我不能簡單地關閉相機,並在下一個活動開始時重新打開;它必須始終保持開放。我已經嘗試使用Application作爲Context(而不是Activity)創建SurfaceView並將其直接添加到WindowManager。這可以讓我保持相機打開,但只有當我將其添加爲系統疊加層時,纔會在實際活動之上渲染並使其無法使用。我曾嘗試過其他的東西,沒有工作:讓Android攝像頭在活動中保持開放狀態

  • 使用活動生命週期回調找到活動,因爲他們來了,把他們的內容意見前(系統上層覆蓋全部)
  • 調用SetWillNotDraw(false)和重寫OnDraw()自定義SurfaceView的不實際呈現什麼
  • 調用SetWillNotDraw(false)並覆蓋自定義SurfaceView的OnDraw()呈現一個黑色矩形覆蓋屏幕,不透明和透明
  • (1,1)之後設置預覽大小打開相機(仍然呈現全屏)
  • 使用我的初始Activity作爲上下文創建SurfaceView,並將其作爲應用程序類型添加到WindowManager中,並且沒有任何觸摸標誌(即使在推回去之後仍然呈現頂部,並且消耗了輸入)
  • 設置在WindowManager.LayoutParams我跑出來的想法,我不知道我想要什麼,甚至有可能的位置去離屏(仍呈現在屏幕上)

。有什麼建議麼?

+0

將預覽大小設置爲(1,1)只有在[支持的預覽大小](https://developer.android.com/reference/android/hardware/Camera.Parameters.html#getSupportedPreviewSizes() )。 – LightStruk 2014-10-06 14:41:16

+0

您是否嘗試在保留的片段內顯示相機預覽。這應該保持相機活着,只要保留的片段仍然存在。 (即使片段不顯示) – 2014-11-15 11:15:08

回答

相關問題