uni-app Android 某些機型調(diào)用相機失敗

uni-app從本地相冊選擇圖片或使用相機拍照,使用方法:uni.chooseImage詳見官網(wǎng)。

uniapp-chooseimage.png

各位開啟相機/相冊代碼也加了,其他業(yè)務(wù)邏輯代碼也搞了。

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

真機調(diào)試時uni-app項目選擇發(fā)行->原生App-制作應(yīng)用wgt包,在iOS項目Android項目中通過放到后臺遠(yuǎn)程獲取加載到本地或者直接本地接入后分別,蘋果機型運行后可以正常調(diào)用相機/相冊并選擇圖片并上傳成功,但是Android某些機型相冊調(diào)用沒有問題,點擊相機調(diào)用無反應(yīng)即出現(xiàn)調(diào)用失敗問題。

類似這種問題若出現(xiàn)要先去uni-app 官網(wǎng)搜索,一般你能遇到的問題,別人也遇到了,或早或晚而已,官網(wǎng)一般會給你答案,至少會明確問題方向。

離線打包Android 10上無法啟動相機.png

原因是FileProvide 未配置,需在application節(jié)點下添加provider節(jié)點離線打包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}須替換成應(yīng)用的包名。比如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某些機型相機調(diào)用成功。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容