//从本地或相机获取图片
huoqutupian(index){
const _this = this
const sourceType = index === 0 ? ['camera'] : ['album']
uni.chooseImage({
count: 1, //默认9
sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
sourceType: sourceType,
success: function(res) {
// TODO 真是上传照片
_this.setData({
imageSrc: res.tempFilePaths[0],
})
_this.loadImage();//图片加载
}
});
},
//确认是否已获取存储授权
cunchuShouquan(index){
var _this = this
plus.android.requestPermissions(['android.permission.READ_EXTERNAL_STORAGE'],
(e) => {
if (e.granted.length > 0) {//如果权限被允许
_this.huoqutupian(index)
}
})
},
违规昵称4396
用这个 android.permission.WRITE_EXTERNAL_STORAGE权限就可以了。uni.chooseImage是读写权限,你那个是读权限,没有写入权限所以会二次授权
2023-12-22 15:43
1***@qq.com (作者)
回复 违规昵称4396: 感谢!虽然你给的方案不对,但确实让我搞明白了。我之前只获取了读的权限,而你的方案只获取了写的权限,我测了一下,两个权限都调用的情况下,uni.chooselmage就没有再弹权限获取了,本来这样还是要弹两次的,但是后面突然发现plus.android.requestPermissions是可以同时调用多个权限请求的,所以最终有了这个写法:
plus.android.requestPermissions(['android.permission.READ_EXTERNAL_STORAGE','android.permission.WRITE_EXTERNAL_STORAGE']
改了之后拿自己手机和同事手机测了一下,都没有问题
2024-01-15 15:13