【问题标题】:Phonegap & Android Camera API Problems - No Image Data ReturnedPhonegap 和 Android 相机 API 问题 - 未返回图像数据
【发布时间】:2012-01-14 13:29:00
【问题描述】:

我在使用 Phonegap 和 Android Camera API 时遇到了一些问题。我可以让它在一台设备上工作,但不能在另一台设备上工作。我听说许多其他人面临类似问题,没有图像数据从设备的相机返回到 javascript。

我正在尝试使用此处的示例应用代码:http://docs.phonegap.com/en/1.3.0/phonegap_media_capture_capture.md.html#capture.captureImage

我有两个正在测试的物理设备,一个是原始的 Motorola Droid,一个是 Motorola Droid 3。

在摩托罗拉 Droid 上,该应用程序运行良好,图像被捕获并顺利返回到我的应用程序。

但是,使用 Droid 3 是另一回事。我可以启动相机没问题,拍照,然后单击“完成”并返回应用程序。唯一的问题是,图像数据永远不会出现。

在过去的一天里,我听到/读到了很多关于这个问题的事情,我认为这些事情可能与这个问题有关:

  1. 摩托罗拉在 Droid 3 中包含了一个非常糟糕的手机应用程序,这可能会导致性能问题。

  2. 试图由 Droid 3 返回的图像质量太高(因此文件太大),JavaScript 无法处理。 (无法在 Droid 3 的备用相机上设置图像的分辨率。)

  3. 应用程序在接收到图像数据后会立即“重新加载”自身(可能是因为它太大了?),因此,当它再次加载时,一秒钟前的图像数据不再存在。

现在我将继续推进开发并继续在旧设备上进行测试,但这确实让我感觉不太好。我知道 Droid 3 并不是唯一面临这些问题的设备,而且因为我对使用 Phonegap 开发简单但商业化的应用程序很感兴趣,所以我的应用程序能够跨设备无缝运行对我来说非常重要。

【问题讨论】:

    标签: javascript android cordova


    【解决方案1】:

    您是否可以使用Camera API(相对于 Capture API)并调低质量参数?

    【讨论】:

    • 是的,我试过这个,但无济于事。我从一个在 Phonegap 工作的人那里读到,这是摩托罗拉几款较新设备的一个已知问题,因为他们在那里安装了一些过时的软件。显然,在这些设备上使用相机 API 不会将图像数据返回给等待的 Phonegap 应用程序。幸运的是,可以从磁盘中选择图像,并且在用户无法在我的应用中拍摄实时照片的情况下就足够了
    【解决方案2】:

    显然,由于手机中内置了一些过时的软件,可能是 moto-blur,导致多款摩托罗拉设备存在问题。

    相机应用永远不会在用户捕获图像数据后触发将图像数据返回给应用的事件(在这些设备中)。

    我现在将此设置为正确答案,如果以后有人发现此问题并更新了信息或解决方法,我会很乐意更新它,只需给我发消息 :)

    【讨论】:

      猜你喜欢
      • 2013-01-05
      • 1970-01-01
      • 1970-01-01
      • 2014-11-19
      • 1970-01-01
      • 2019-04-06
      • 2017-03-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多