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)用成功。