首页 文章

cordova-plugin-camera:在Android 4.4设备上获取“No Image Selected”错误

提问于
浏览
4

我在运行Android 4.4的设备上处理与 cordova-plugin-camera 相关的奇怪行为(KitKat - 也在4.3中测试过) . 当我运行以下代码时:

var options = {
    quality: 50,
    mediaType: Camera.MediaType.PICTURE,
    destinationType: Camera.DestinationType.FILE_URI,
    sourceType: Camera.PictureSourceType.CAMERA,
    allowEdit: false,
    encodingType: Camera.EncodingType.JPEG,
    saveToPhotoAlbum: false,
    correctOrientation: true
};

navigator.camera.getPicture(function (imageData) {
    console.log(imageData);
}, function (err) {
    console.log(err);
}, options);

错误回调是 instantly fired 并将"No Image Selected"打印到控制台 . 也就是说:在我拍照之前,打开相机应用程序并在打开相机时触发错误回调 .

但是这个相同的代码适用于具有新Android版本的设备(在Android 7.0设备上测试) .

我正在使用:

  • Cordova 8.0

  • cordova-android 6.4.0

  • cordova-plugin-camera 4.0.2

尝试了this solution,但获得了相同的结果 . 那么,我该如何解决这个问题呢?我忘记了什么吗?

谢谢您的帮助 .

1 回答

  • 3

    经过两天的工作和StackOverflow上的这篇文章后30分钟,问题是 solved 遵循GitHub comment中描述的步骤:

    • 将以下行添加到config.xml: <preference name="AndroidLaunchMode" value="singleTop" />

    • 删除目录 platforms/android/

    • 运行 ionic cordova prepare android

    似乎问题是由 cordova-plugin-background-mode 插件的安装引起的,我也在使用它 .

相关问题