uni-app uni.chooseImage打开相机没反应

uni-app uni.chooseImage打开相机没反应

项目 信息
产品分类 uniapp/App
PC开发环境操作系统 Mac
PC开发环境操作系统版本号 15.2 (24C101)
HBuilderX类型 正式
HBuilderX版本号 4.45
手机系统 Android
手机系统版本号 Android 5.1
手机机型 WPOS-MINI
页面类型 vue
vue版本 vue2
打包方式 云端
项目创建方式 HBuilderX

示例代码:

uni.chooseImage({
count: 1,
sourceType: ['camera', 'album'],
success: function (res) {
console.log(JSON.stringify(res.tempFilePaths));
}
});

操作步骤:

  • 点击btn,调用 uni.chooseImage

预期结果:

  • 调用相机拍照

实际结果:

  • 没反应,也没有任何回调,也没有catch到任何报错

bug描述:

uni.chooseImage打开相机没反应,但是可以打开相册,扫码也正常


更多关于uni-app uni.chooseImage打开相机没反应的实战教程也可以访问 https://www.itying.com/category-93-b0.html

17 回复

对比测试了下,Android7以上的都是可以的,Android5.1打不开相机

更多关于uni-app uni.chooseImage打开相机没反应的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这是我的权限列表 <uses-feature android:name="android.hardware.camera"/> <uses-feature android:name="android.hardware.camera.autofocus"/> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission android:name="android.permission.BLUETOOTH"/> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/> <uses-permission android:name="android.permission.BLUETOOTH_PRIVILEGED"/> <uses-permission android:name="android.permission.BRICK"/> <uses-permission android:name="android.permission.CALL_PHONE"/> <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/> <uses-permission android:name="android.permission.GET_ACCOUNTS"/> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <uses-permission android:name="android.permission.NFC"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.READ_LOGS"/> <uses-permission android:name="android.permission.READ_PHONE_STATE"/> <uses-permission android:name="android.permission.VIBRATE"/> <uses-permission android:name="android.permission.WAKE_LOCK"/> <uses-permission android:name="android.permission.WRITE_CONTACTS"/> <uses-permission android:name="android.permission.WRITE_SETTINGS"/>

+1 遇到同问题

抓不到错误,也没有任何回调比较头疼,定位不到问题

测试了下,sdk回滚到hbuilderx v4.0.7是可以打开相机的,应该是新版本sdk的bug,希望官方可以看下当前怎么处理下

还有伙伴遇到过类似情况么,有什么方案支持么

测试了两天,小白鼠总结下,4.24以下Android5.1可以打开相机,高版本sdk调用相机无反应~

4.45 ❌ 4.45-alpha ❌ 4.44 ❌ 4.36 ❌ 4.29 ❌ 4.28 ❌ 4.24 ✅ 4.07 ✅

捞一下

捞一下,HBuilder X 4.64 依旧没有解决

我确认一下

回复 DCloud_Android_zl: 蹲一个好消息

回复 DCloud_Android_zl: 遇到同样的问题,有什么解决方案吗,等个好消息

回复 DCloud_Android_zl: 等待中,是更新出现的问题吗

回复 DCloud_Android_zl: 急 昨天也碰到了 有什么办法能解决啊

捞一下,现在生产上有大量的android5手持终端等待升级,但是又要兼容鸿蒙,多套sdk切换打包体验非常的不好,希望可以修复下这个问题

捞一下

根据您描述的情况,uni.chooseImage在Android 5.1设备上调用相机无响应,但相册和扫码功能正常,这可能是以下几个原因导致的:

  1. 权限问题:
  • 虽然Android 5.1不需要动态权限申请,但请确认manifest.json中已配置了camera权限:
"android": {
    "permissions": [
        "android.permission.CAMERA"
    ]
}
  1. 设备兼容性问题:
  • Android 5.1系统较老,部分设备的相机API实现可能不完善
  • 建议在更高版本Android设备上测试验证
  1. 特殊机型适配:
  • WPOS-MINI作为POS设备,可能对相机功能有特殊限制
  • 尝试在普通Android手机上测试
  1. 代码调整建议:
// 尝试单独使用camera模式测试
uni.chooseImage({
    count: 1,
    sourceType: ['camera'], // 仅使用相机
    success(res) {
        console.log('success:', res);
    },
    fail(err) {
        console.error('fail:', err);
    },
    complete(res) {
        console.log('complete:', res);
    }
});
回到顶部