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

时间:2018-04-16 18:55:27

标签: android cordova ionic-framework cordova-plugins

我正在使用Ionic 1.x开发混合移动应用程序版本。目前我正在处理与运行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);

错误回调立即触发并向控制台输出“No Image Selected”。也就是说:在我拍照之前,打开相机应用程序并在打开相机时触发错误回调。

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

我正在使用:

  • Cordova 8.0
  • cordova-android 6.4.0
  • cordova-plugin-camera 4.0.2

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

感谢您的帮助。

1 个答案:

答案 0 :(得分:4)

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

  1. 将以下行添加到config.xml:<preference name="AndroidLaunchMode" value="singleTop" />
  2. 删除目录platforms/android/
  3. 运行ionic cordova prepare android
  4. 似乎问题是由cordova-plugin-background-mode插件的安装引起的,我也在使用它。