android - Cordova 插件相机 : Getting "No Image Selected" error on Android 4. 4 设备

标签 android cordova ionic-framework cordova-plugins

我正在使用 Ionic 1.x 构建混合移动应用程序。目前,我正在处理与 cordova-plugin-camera 在运行 Android 4.4(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);

错误回调立即触发并向控制台打印“未选择图像”。即:在我拍照之前,打开相机应用程序并在打开相机时触发错误回调。

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

我正在使用:

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

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

感谢您的帮助。

最佳答案

经过两天的努力以及 StackOverflow 上的这篇帖子发布后 30 分钟,问题已按照 GitHub comment 中描述的步骤解决 :

  1. 将以下行添加到您的 config.xml 中:<preference name="AndroidLaunchMode" value="singleTop" />
  2. 删除目录platforms/android/
  3. 运行 ionic cordova prepare android

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

关于android - Cordova 插件相机 : Getting "No Image Selected" error on Android 4. 4 设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49864382/

相关文章:

iphone - 在 Android 和 iPhone 上使用默认起始位置从浏览器打开谷歌地图应用程序

javascript - Angular 和 ionic 问题

javascript - 类型错误 'undefined' 不是对象(评估 'navigator.connection.type' )

html - Ionic 2 在页面组件而不是根组件上定义菜单

angular - self 未在 ionic Angular 服务器端渲染中定义

css - 如何在 Ionic 中使用 SASS 更改事件按钮文本的颜色?

java - 填充 TableLayout 时 Android Java NullPointerException

Android 共享首选项分配不会在模拟器 session 之间持续存在

android - 在Android上使用Camera2进行OpenCV图像处理

javascript - 检查网络并处理空错误对象