美文网首页
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