PhoneGap相机拍摄图片后无法确认。

4
我正在制作一个应用程序来测试PhoneGap的功能,以便我以后可以将其用于更大的项目。我试图通过构建一个简单的测试应用程序来使相机API工作,该应用程序仅捕获并显示图像。奇怪的是,当我按下触发navigate.camera.getPicture()的捕获按钮时,我可以拍照,但无法确认图片,以便过程返回到我的应用程序并给我捕获的图像。所有其他按钮都按预期工作,因此我可以按取消按钮,它会正确地返回到我的应用程序并运行作为navigate.camera.getPicture()第二个参数传递的函数(错误处理程序)。
这是我如何调用navigate.camera.getPicture()
navigator.camera.getPicture( function( uri ) {
    // code to handle success
}, function( msg ) {
    // code to handle error
}, {
    quality: 100,
    destinationType: Camera.DestinationType.FILE_URI,
    encodingType: Camera.EncodingType.PNG,
    targetWidth: 2000,
    targetHeight: 2000,
    correctOrientation: true,
    saveToPhotoAlbum: false
} );

我尝试注释掉了除了destinationType之外的所有配置参数,看看是否有帮助。

我的config.xml文件包含以下行以允许使用相机:

<plugin name="Camera" value="org.apache.cordova.CameraLauncher" />
<feature name="http://api.phonegap.com/1.0/camera" />

我的调试环境是一台运行Android 4.2.1的Galaxy Nexus。

我还在Ripple下运行了该应用程序,结果和预期完全相同。

该应用程序是使用PhoneGap Build构建的,而不是在我的机器上使用Android SDK构建的,如果这有所不同。

我是否遗漏了什么重要的东西呢?

提前感谢 =)


你使用的 Cordova 版本是哪个? - poiuytrez
我只有一台设备可以测试,但我也把它送给了一个朋友,他说它不起作用。他没有具体说明哪里出了问题,但我认为这可能是同样的问题,因为那里没有太多的东西会出错。此外,我尝试注释掉除destinationType之外的所有选项,根据API文档,JPEG是默认值,但即使这样也不起作用。 - Andreas Hagen
此外,Android SDK 中的模拟器表现与我的手机一样,因此它似乎不是特定于设备的。LogCat 也没有记录任何错误消息。 - Andreas Hagen
你尝试过从config.xml中移除<feature name="http://api.phonegap.com/1.0/camera" />吗? - gmh04
是的。原本它并不存在,仍然无法工作。 - Andreas Hagen
显示剩余3条评论
1个回答

3

我曾经在 Galaxy Nexus 上运行一个使用 PhoneGap Build 构建的应用程序,遇到了同样的问题,该设备运行的是 Android 4.2 版本。我通过在我的 config.xml 文件中使用以下两个功能指令来解决这个问题:

<feature name="http://api.phonegap.com/1.0/camera"/>
<feature name="http://api.phonegap.com/1.0/file"/>

很遗憾,logcat 中没有出现任何错误,但这似乎起了作用。希望这可以帮到您!


就是这样!我漏掉了文件功能。谢谢。奇怪的是,在PhoneGap Build的文档中没有更明确地说明这一点。 - Andreas Hagen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接