使用Android上的Phonegap时出现“捕获图像错误”

6
我需要使用我的Phonegap应用程序捕获图像。在iOS上一切正常,但在Android上(通过Phonegap Build),它会抛出“捕获图像错误”的错误。
我已经将以下行添加到我的config.xml文件中,但这并没有改变任何东西:
<feature name="Camera">
    <param name="android-package" value="org.apache.cordova.camera.CameraLauncher" />
</feature>
<feature name="http://api.phonegap.com/1.0/device" />
<feature name="http://api.phonegap.com/1.0/camera" />
<feature name="http://api.phonegap.com/1.0/file" />
<feature name="http://api.phonegap.com/1.0/media" />
<feature name="http://api.phonegap.com/1.0/network" />

我的API调用如下:

    $(document).on('click', '#cameraPreview', function() {
        pictureSource = navigator.camera.PictureSourceType;
        destinationType = navigator.camera.DestinationType;

        navigator.camera.getPicture(onGetPictureSuccess, onGetPictureFail, {
          quality: 40,
          sourceType: Camera.PictureSourceType.CAMERA,
          destinationType: Camera.DestinationType.FILE_URI,
          allowEdit: true,
            encodingType: Camera.EncodingType.JPG,
          targetWidth: 1000,
          targetHeight: 1000,
          saveToPhotoAlbum: true,
          correctOrientation: 1
        });
    });

我使用Phonegap 3.7和Phonegap Build进行开发。

请在 config.xml 中包含头部行。 - Dawson Loudon
5个回答

28

好的,现在我知道答案了。问题出在saveToPhotoAlbum: true选项上。Android无法识别这个选项。当我删除这个选项后,一切都正常了。


2
这是 Cordova 已知的问题吗?我正在从 Cordova 3.5.0 升级,而在那个版本中,使用 saveToPhotoAlbum 选项时它可以正常工作。 - BruceHill
1
在我告诉客户问题已经解决之前,让我告诉你:我爱你。它很长时间都正常工作,突然就停止了。谢谢。 - johnny
我也爱你,@johnny。这个选项在一些安卓设备上可用,但在其他设备上不可用。应该将其添加到插件的文档中。再次感谢。 - AhmadWabbi

2

检查你的cordova-camera-plugin版本。 如果低于4.0.1,更新到最新版本即可解决。 否则,我也不知道怎么办。

这是一个已知问题并已经被修复。 您可以在下面的链接中查看更多详细信息。 https://issues.apache.org/jira/browse/CB-13781

注:Original Answer翻译成“最初的回答”

1

0

对我而言,我需要添加这个权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

0

Android和不同的SDK版本中权限要求已经发生了变化。请确保您正在使用适用于目标操作系统版本的适当插件版本。

对于在Android 10上使用cordova-camera-plugin <=4.2.0遇到相同问题的任何人,您可以设置<preference name="android-targetSdkVersion" value="28" />

有关更多信息,请参见此工单:https://github.com/apache/cordova-plugin-camera/issues/611


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