Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.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 Cordova:camera.getPicture失败,出现“0”;相机取消“;_Android_Cordova - Fatal编程技术网

Android Cordova:camera.getPicture失败,出现“0”;相机取消“;

Android Cordova:camera.getPicture失败,出现“0”;相机取消“;,android,cordova,Android,Cordova,我正在开发一个cordova应用程序(cli-5.2.0),其中使用cordova摄像头插件(cordova插件摄像头,版本1.2.0)拍摄照片 var-camera=navigator.camera; var cameraOptions={ destinationType:Camera.destinationType.DATA\u URL }; camera.getPicture(函数(结果){ 警惕(“成功”); },函数(错误){ 警报(“失败”+错误); },相机选项)我看到这个问题出

我正在开发一个cordova应用程序(cli-5.2.0),其中使用cordova摄像头插件(cordova插件摄像头,版本1.2.0)拍摄照片

var-camera=navigator.camera;
var cameraOptions={
destinationType:Camera.destinationType.DATA\u URL
};
camera.getPicture(函数(结果){
警惕(“成功”);
},函数(错误){
警报(“失败”+错误);

},相机选项)我看到这个问题出现在两种情况下-1)内存不足,正如@Joerg已经提到的,2)事件是级联的,并且被触发两次。例如,您在一个图标上有一个onClick,位于一个div内,该div还具有另一个事件触发器,如a-href或另一个onClick

如果你能发布你的代码,可能会有所帮助

更新-1: 明确表示内存不足的情况。在这里冒险猜测。。。 1.发生对摄影机的异步调用 2.内存不足会返回相机取消故障事件 3.当有足够的可用内存时,相机会打开 4.摄像头成功事件无法找到回调,因为在较早的失败事件后回调已被清除,导致“第二次回调”场景

现在,你每次都有完全相同的照片/视频的问题吗

您可能可以避免这种情况的方法是-不要用“.then”链接调用,而是实际执行常规异步回调


此外,您可能希望检查并防止任何早期调用“摄像头服务”的操作已完成。

我的问题是,我安装了棱角材料,导致按钮和其他单击元素触发两次。为了解决这个问题,我不得不在app.js中添加这一行

.config(function($stateProvider, $urlRouterProvider, $mdThemingProvider, $mdGestureProvider) {

$mdGestureProvider.skipClickHijack();

这可能是设备的内存问题。我更新了问题以包含处理单击处理的代码。谢谢,KoenThanks,这解决了问题;您能详细说明一下为什么使用常规异步回调会有所帮助吗?这是一篇老文章,但我也遇到了同样的问题,我一直跟踪到我的设备上有多个摄像头应用程序,当提示我应该使用哪个摄像头,然后选择“仅一次”时,就会出现错误。如果我选择“总是”的相机,我就不会再有错误了。@Pedrog-那可能只是间接的。