初始化相機后,申請權(quán)限,不顯示預(yù)覽界面

把SurfaceView隱藏一次,再顯示一次就行了

SurfaceView.visibility=View.GONE

SurfaceView.visibility=View.VISIBLE


解釋一下:

surfaceHolder=sv.holder

surfaceHolder?.addCallback(this)

surfaceHolder?.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS)

一般我們都這么初始化surfaceHolder,然后在callback會調(diào)中初始化camear

override fun surfaceChanged(holder:SurfaceHolder?, format:Int, width:Int, height:Int) {

}

override fun surfaceDestroyed(holder:SurfaceHolder?) {

}

override fun surfaceCreated(holder:SurfaceHolder?) {

}

這兒就會走surfaceCreated,在里面初始camera,但是在走這個方法之后,發(fā)現(xiàn)還沒申請權(quán)限,就去申請權(quán)限,權(quán)限申請成功了后,卻沒有預(yù)覽界面.

因為這兒已經(jīng)不會再走一次callback了,但是呢,只需要改變一次預(yù)覽界面的大小啊什么的就會再走callback,所以就有了開始的隱藏一次再顯示一次,就會再調(diào)用callback了,這樣就能再次初始化camera了,預(yù)覽界面就有了

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容