dcloudio / native-docs

uni小程序SDK & 5+ SDK 原生开发文档
Apache License 2.0
80 stars 74 forks source link

荣耀 20 + Android10,无法拉起摄像机 #103

Open Cat7373 opened 3 years ago

Cat7373 commented 3 years ago

问题描述 荣耀 20 + Android10,无法拉起摄像机

复现步骤 尝试运行下列代码:

uni.chooseImage({  
    count: 1,  
    sourceType: ['camera'],  
    success: function (res) {  
        // ......  
    }  
})

预期结果 正常拉起摄像头进行拍照

实际结果 以下测试均为离线打包:

其中,荣耀 20 代表:荣耀 20,MagicUI 3.1.0(Android 10)

OPPO 代表:OPPO R11 Plusk,ColorOS 5.2.1(Android 8.1.0)

打勾代表能否拉起摄像头

/ 荣耀 20 OPPO
2.8.13
2.9.3 x
2.9.7(Beta) x
2.9.8 x

系统信息:

补充信息

Cat7373 commented 3 years ago

问题已解决,在 AndroidManifest.xml 中追加了如下配置:

<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>

参考的 https://nativesupport.dcloud.net.cn/AppDocs/FAQ/android

不过感觉此问题的解决方案藏的太严实,建议放到更容易被找到的地方,或调整为 2.8.13 的模式,不需要额外配置也能拉起相机