uni-app android调用uni.chooseImage拍照无反应 相册正常

uni-app android调用uni.chooseImage拍照无反应 相册正常

示例代码:

uni.chooseImage({
count: 1, //默认9
sizeType: [‘compressed’], //可以指定是原图还是压缩图,默认二者都有
sourceType: [type], //‘camera’,‘album’
success: function(res) {
console.log(res.tempFilePaths);
for (let i = 0; i < res.tempFilePaths.length; i++) {
const tempFilePaths = res.tempFilePaths;
uni.uploadFile({
url: ${getUrl()}/basis-member/file/upload, //服务器地址
filePath: tempFilePaths[i],
name: ‘file’,
fileType: ‘image’,
header: {
Authorization: 'Bearer ’ + getProperties(‘accessToken’)
},
formData: {
user: ‘test’
},
success: uploadFileRes => {
const url = JSON.parse(uploadFileRes.data).data.url;
that.sceneImage = url;
that.dismiss();
}
});
}
},
fail: function(res) {
console.log(res, “res”);
that.dismiss();
uni.showToast({
icon: ‘none’,
title: ‘上传失败,请重试’
});
}
});


## 操作步骤:

- 代码操作

## 预期结果:

- 可以进行拍照

## 实际结果:

- 没有反应

## bug描述:

- 点击拍照无效

更多关于uni-app android调用uni.chooseImage拍照无反应 相册正常的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

在哪一步没有反应?可以说明清楚吗?最好有视频或者动图演示

更多关于uni-app android调用uni.chooseImage拍照无反应 相册正常的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这是一个常见的权限配置问题。在Android平台上,调用相机功能需要动态申请摄像头权限,而uni-app框架在部分Android机型上不会自动处理这个权限申请。

解决方案:

  1. 检查manifest.json配置manifest.json→"App模块权限配置"中勾选"相机(摄像头)"权限:

    "permissions": {
      "Camera": {}
    }
    
  2. 添加动态权限申请代码 在调用uni.chooseImage之前,先检查并申请相机权限:

    // 检查相机权限
    uni.authorize({
      scope: 'scope.camera',
      success() {
        // 已有权限,执行拍照
        takePhoto();
      },
      fail() {
        // 无权限,引导用户授权
        uni.showModal({
          content: '需要相机权限才能拍照',
          success: (res) => {
            if (res.confirm) {
              uni.openSetting(); // 打开设置页面
            }
          }
        });
      }
    });
    
  3. Android特定配置 对于Android 6.0+系统,确保在manifest中声明相机权限:

    <uses-permission android:name="android.permission.CAMERA" />
回到顶部