美文网首页
uni-app Android 某些机型调用相机失败

uni-app Android 某些机型调用相机失败

作者: 落落2023 | 来源:发表于2021-05-14 18:33 被阅读0次

uni-app从本地相册选择图片或使用相机拍照,使用方法:uni.chooseImage详见官网

uniapp-chooseimage.png

各位开启相机/相册代码也加了,其他业务逻辑代码也搞了。

sourceType: ['album', 'camera'],

真机调试时uni-app项目选择发行->原生App-制作应用wgt包,在iOS项目Android项目中通过放到后台远程获取加载到本地或者直接本地接入后分别,苹果机型运行后可以正常调用相机/相册并选择图片并上传成功,但是Android某些机型相册调用没有问题,点击相机调用无反应即出现调用失败问题。

类似这种问题若出现要先去uni-app 官网搜索,一般你能遇到的问题,别人也遇到了,或早或晚而已,官网一般会给你答案,至少会明确问题方向。

离线打包Android 10上无法启动相机.png
原因是FileProvide 未配置,需在application节点下添加provider节点离线打包Android 10上无法启动相机
        <provider
            android:name="io.dcloud.common.util.DCloud_FileProvider"
            android:authorities="${apk.applicationId}.dc.fileprovider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/dcloud_file_provider" />
        </provider>

其中,${apk.applicationId}须替换成应用的包名。比如com.xxxx.xxxx那么我在Android项目原生里AndroidManifest.xml配置如下

        <provider
            android:name="io.dcloud.common.util.DCloud_FileProvider"
            android:authorities="com.xxxx.xxxx.dc.fileprovider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/dcloud_file_provider" />
        </provider>


再次运行后,Android某些机型相机调用成功。

相关文章

网友评论

      本文标题:uni-app Android 某些机型调用相机失败

      本文链接:https://www.haomeiwen.com/subject/jjgqjltx.html