ReferenceError:未定义摄像头

The*_*לום 5 android ios cordova phonegap-build

我正在尝试开发一个PhoneGap使用相机功能的应用程序.我正在关注https://build.phonegap.com/plugins/768上的插件文档,但没有运气.每次我尝试使用该功能时,我在Android设备上构建和测试时都会收到错误"ReferenceError:Camera is not defined".

这是我的index.html的头部:

<script type="text/javascript" src="phonegap.js"></script>
<script type="text/javascript" src="cordova.js"></script>
Run Code Online (Sandbox Code Playgroud)

这是我用来使用相机功能的脚本:

<script>
            function take_picture(){
                try{
                    navigator.camera.getPicture(cameraSuccess, cameraError, {
                        quality: 50,
                        destinationType: Camera.DestinationType.DATA_URL
                    });
                }catch(e){
                    alert(e);
                }
            }

            function cameraSuccess(imageData){
                try{
                    $("#camera_image").attr('src', imageData);
                }catch(e){
                    alert(e);
                }
            }

            function cameraError(message){
                try{
                alert('Failed because: '+message);
                }catch(e){
                    alert(e);
                }
            }
            </script>
Run Code Online (Sandbox Code Playgroud)

因为我正在使用PhoneGap Build,这里是我正在使用的config.xml标签:

<gap:config-file platform="android" parent="/manifest">
    <uses-permission name="android.permission.CAMERA" />
</gap:config-file>

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

<feature name="Camera">
    <param name="android-package" value="org.apache.cordova.CameraLauncher" />
    <param name="ios-package" value="CDVCamera" />
</feature>
Run Code Online (Sandbox Code Playgroud)

sha*_*rif 5

我遇到了同样的问题,我分三步解决了

javascript 包括

我只使用了cordova.js并删除了任何phonegap.js

    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
Run Code Online (Sandbox Code Playgroud)

安装插件

您必须使用命令行安装相机插件;仅 xml 不起作用

cordova plugin add org.apache.cordova.camera
Run Code Online (Sandbox Code Playgroud)

使用正确的 android-package

您使用的包org.apache.cordova.CameraLauncher是错误的,会给您 NullPointer 异常。可以像这样包含正确的包

<feature name="Camera">
    <param name="ios-package" value="CDVCamera" />
    <param name="android-package" value="org.apache.cordova.camera.CameraLauncher" />
</feature>
Run Code Online (Sandbox Code Playgroud)

试一试吧!谢谢 :)

  • 现在要下载的最新版本是```cordova plugin add cordova-plugin-camera``` (3认同)