在googleVR上调用设备相机的webcamtexture无法获取相机

unity版本为2019及之前版本
这个问题困扰了很久,国内网站始终找不到解决方案,github上总算找到了类似的问题,这是链接
现象描述: 不开启VR Supported时,调用相机,可正常开启相机。开启相机前会弹出提示是否允许调用的对话框。当开启VR Supported,并添加Card Board时,无法调用相机,不会弹出提示是否允许的对话框。
在这里插入图片描述

问题原因: 开启VR Supported时,可能自动去掉了相机的权限请求,没有开启权限。
问题解决:
1、 如果是unity工程添加权限,打开Project Setting面板,勾选Player下的Custom main Manifest。按照提示路径打开AndroidManifest.xml文件。
在这里插入图片描述
如图所示,在文件对应位置添加以下代码。

<meta-data android:name="unityplayer.SkipPermissionsDialog" android:value="false"/>

<!-- camera permission --> 
<uses-permission android:name="android.permission.CAMERA"/> 
<uses-permission android:name="android.hardware.camera"/> 
<uses-feature android:name="android.hardware.camera"/> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 

在这里插入图片描述
2、 如果最终打apk包平台是在Android Studio
找到AndroidManifest.xml和AndroidManifest-Cardboard.xml(如有)在里面添加上述权限代码

猜你喜欢

转载自blog.csdn.net/qq_37619255/article/details/129021820