uni-app Unable to find explicit activity class com.android.camera com.android.camera.CameraActivity

uni-app Unable to find explicit activity class com.android.camera com.android.camera.CameraActivity

操作步骤:

  • 详见报错堆栈

预期结果:

  • 详见报错堆栈

实际结果:

  • 详见报错堆栈

bug描述:

1 回复

更多关于uni-app Unable to find explicit activity class com.android.camera com.android.camera.CameraActivity的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这个错误通常发生在Android平台上,当应用尝试调用系统相机组件但找不到对应的Activity时出现。以下是常见原因和解决方案:

主要原因:

  1. 设备系统相机Activity路径与代码中配置的不匹配
  2. 相机权限未正确配置
  3. 设备系统定制导致相机组件路径不同

解决方案:

  1. 检查AndroidManifest.xml配置
<!-- 确保已添加相机权限 -->
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
  1. 使用隐式Intent调用相机
// 避免硬编码Activity路径
uni.chooseImage({
    sourceType: ['camera'],
    success: function (res) {
        console.log(res.tempFilePaths);
    }
});
  1. 检查设备兼容性
  • 某些定制ROM(如华为、小米)可能修改了系统相机路径
  • 建议使用uni-app官方API而非直接调用原生Activity
  1. 权限动态申请
// 在调用相机前检查权限
uni.authorize({
    scope: 'scope.camera',
    success() {
        uni.chooseImage({ sourceType: ['camera'] });
    }
});

临时解决方案: 如果急需修复,可以尝试在AndroidManifest.xml中添加:

<queries>
    <intent>
        <action android:name="android.media.action.IMAGE_CAPTURE" />
    </intent>
</queries>
回到顶部