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

2021-05-14  本文已影响0人  落落2023

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某些机型相机调用成功。

上一篇下一篇

猜你喜欢

热点阅读