ReferenceError:未定义摄像头

时间:2014-09-26 20:00:57

标签: android ios cordova phonegap-build

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

以下是我的index.html的主管:

<script type="text/javascript" src="phonegap.js"></script>
<script type="text/javascript" src="cordova.js"></script>

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

<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>

由于我使用的是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>

1 个答案:

答案 0 :(得分:4)

我有同样的问题,我在三个步骤中解决了它

javascript包括

我只使用了cordova.js并删除了所有phonegap.js

    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>

安装插件

您必须使用命令行安装摄像头插件; xml只能起作用

cordova plugin add org.apache.cordova.camera

使用正确的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>

试一试! 谢谢:))