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
这是我的权限列表
<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设备上调用相机无响应,但相册和扫码功能正常,这可能是以下几个原因导致的:
- 权限问题:
- 虽然Android 5.1不需要动态权限申请,但请确认manifest.json中已配置了camera权限:
"android": {
"permissions": [
"android.permission.CAMERA"
]
}
- 设备兼容性问题:
- Android 5.1系统较老,部分设备的相机API实现可能不完善
- 建议在更高版本Android设备上测试验证
- 特殊机型适配:
- WPOS-MINI作为POS设备,可能对相机功能有特殊限制
- 尝试在普通Android手机上测试
- 代码调整建议:
// 尝试单独使用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);
}
});