Android

初始化相机后,申请权限,不显示预览界面

2018-08-16  本文已影响0人  暖宝宝_龍

把SurfaceView隐藏一次,再显示一次就行了

SurfaceView.visibility=View.GONE

SurfaceView.visibility=View.VISIBLE

解释一下:

surfaceHolder=sv.holder

surfaceHolder?.addCallback(this)

surfaceHolder?.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS)

一般我们都这么初始化surfaceHolder,然后在callback会调中初始化camear

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

}

override fun surfaceDestroyed(holder:SurfaceHolder?) {

}

override fun surfaceCreated(holder:SurfaceHolder?) {

}

这儿就会走surfaceCreated,在里面初始camera,但是在走这个方法之后,发现还没申请权限,就去申请权限,权限申请成功了后,却没有预览界面.

因为这儿已经不会再走一次callback了,但是呢,只需要改变一次预览界面的大小啊什么的就会再走callback,所以就有了开始的隐藏一次再显示一次,就会再调用callback了,这样就能再次初始化camera了,预览界面就有了

上一篇下一篇

猜你喜欢

热点阅读