Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Phonegap-根本无法启动摄像头_Android_Cordova_Camera_Phonegap Plugins - Fatal编程技术网

Android Phonegap-根本无法启动摄像头

Android Phonegap-根本无法启动摄像头,android,cordova,camera,phonegap-plugins,Android,Cordova,Camera,Phonegap Plugins,无论是在这里还是在谷歌上,我都读过每一个问题,我一辈子都想不出这个问题。我只是尝试使用Phonegap拍摄照片并存储URI。我试图使用文档中的示例。这是我试图打开相机的片段 this.getPicture = function() { navigator.camera.getPicture(self.onBackSuccess, self.onFail, { quality: 20, destinationType: Camera.DestinationType.

无论是在这里还是在谷歌上,我都读过每一个问题,我一辈子都想不出这个问题。我只是尝试使用Phonegap拍摄照片并存储URI。我试图使用文档中的示例。这是我试图打开相机的片段

this.getPicture = function() {
    navigator.camera.getPicture(self.onBackSuccess, self.onFail, {
      quality: 20,
      destinationType: Camera.DestinationType.FILE_URI
    });
};
我已经检查/验证的内容

Phonegap/Cordova本身已安装且工作正常。我可以毫无问题地构建我的应用程序。 上面的navigator.camera是明确定义的。我可以顺着代码往下看,然后调用getPicture函数,但这不会在设备、ADB仿真器或Ripple浏览器仿真器上启动摄像头。 我的成功和错误回调都不会被调用。但是,当我查看getPicture函数中的这些变量时,我可以看到存储在这些变量中的相应函数。 我已经安装了Phonegap摄像头插件。当我运行phonegap本地插件列表时,结果之一是org.apache.cordova.camera 0.3.4 camera 我的config.xml文件包含行和。不确定这是否相关,因为插件已经安装。 我的AndroidManifest.xml文件包含行和。 当我单击调用此函数的按钮时,它会打印出以下内容:

[20,1,1,-1,-1,0,0,false,false,false,null,0]
这是camera.getPicture函数生成/使用的cameraOptions数组

我所能找到的一切都认为调用navigator.camera.getPicturesSuccess、failure和options是理所当然的;就要打开相机了,所以似乎没有太多关于解决我的问题的信息。这里的任何指点都将不胜感激

编辑:我在控制台中看到一个错误,看起来可能与此相关:

Could not find cordova.js script tag. Plugin loading may fail.
编辑:我不认为我上次的编辑是相关的。这与插件文件本身的加载有关,当我加载我的应用程序时,我可以在plugins文件夹中看到Camera.js文件。我可以在cameraExport.getPhoto函数中设置一个断点,它确实在那里。然后它会呼叫

exec(successCallback, errorCallback, "Camera", "takePicture", args);

它打印出我前面提到的数组,而不做其他任何事情。

在没有看到所有代码的情况下,我猜这就是它的用途。还有自我。这是问题的根源。试着这样做:

function getPicture() {
    navigator.camera.getPicture(onBackSuccess, onFail, {
       quality: 20,
      destinationType: Camera.DestinationType.FILE_URI
    });
};

function onBackSuccess() {
   //some code
}

function onFail() {
   //some code
}

这不会仍然调用摄像机,但在回调时失败了吗?此外,我还尝试以内联方式定义回调,但没有效果。