x***@126.com
x***@126.com
  • 发布:2017-08-21 13:01
  • 更新:2019-03-01 18:04
  • 阅读:1649

【报Bug】Android N 7调用摄像头报错

分类:HTML5+

详细问题描述
[内容]
进行图片裁剪时,摄像头无法调用,如果是在线打包可以,如果嵌入到我原生代码中就不行。请问这是什么问题。
file://storage/emulated/0/Android/data/com.example.nyapp/documents/150305412663.jpg exposed beyond app through ClipData.Item.getUri();

  
			var cropper = null;  
			mui.plusReady(function() {  
				var currentId = plus.webview.currentWebview().userId;  
				document.getElementById("moreMenus").addEventListener("tap", function() {  
					var editButtons = new Array();  
					editButtons.push({  
						title: "拍照",  
						style: "default"  
					});  
					editButtons.push({  
						title: "相册",  
						style: "default"  
					});  
					plus.nativeUI.actionSheet({  
						cancel: "取消",  
						buttons: editButtons  
					}, function(e) {  
						var index = e.index;  
						switch(index) {  
							case 1:  
								captureImage(); //拍照  
								break;  
							case 2:  
								selectImage(); //相册选择  
								break;  
						}  
					});  
				});  
  
				//确定裁切  
				document.getElementById("confirm_id").addEventListener("tap", function(e) {  
					var dataURL = $("#userImage_id").cropper("getCroppedCanvas", {  
						width: 300,  
						height: 300  
					});  
					var imgUrl = dataURL.toDataURL("image/png", 1);  
					//		$("#userImage_id").attr("src" , imgUrl);  
					$("#userImage_id").cropper("replace", imgUrl);  
					$("#userImage_id").cropper("clear"); //裁切完成取消显示裁切框  
					$("#userImage_id").cropper("disable");  
					//确定裁切后销毁裁切组件,标记一下,下次继续裁切时需要初始化一下裁切组件  
					window.imageDisable = true;  
					//禁用几个功能按钮  
					$("button.toolbutton").prop("disabled", true);  
  
					//向后台提供数据  
					saveImage(imgUrl, "_doc/avterImage.jpg");  
				});  
				//初始化裁切组件  
				initImageCropper();  
			});  
  
			//拍照  
			function captureImage() {  
				var cmr = plus.camera.getCamera(2);  
				cmr.captureImage(  
					function(path) {  
						//将图片地址转换  
						plus.io.resolveLocalFileSystemURL(path, function(entry) {  
							var newPath = entry.toLocalURL() + "?version=" + Math.random();  
							loadImage(newPath);  
						});  
					},  
					function(error) {  
						mui.toast(error.message);  
					}, {  
						filename: "_documents/"  
					}  
				);  
			}  
  
			function initImageCropper() {  
				//初始化组件  
				cropper = $("#userImage_id").cropper({  
					aspectRatio: 3 / 3,  
					autoCropArea: 1,  
					dragMode: "move", //设置移动图片、重新绘制选图区域  
					cropBoxResizable: false,  
					//movable: true,//是否允许移动裁切框  
					zoomable: false, //是否允许放大图片  
					guides: true, //取消显示裁切线中间的虚线网格  
					minContainerWidth: 300,  
					minContainerHeight: 300,  
					minCanvasWidth: 300,  
					minCanvasHeight: 300,  
					crop: function(data) {  
						//初始化  
						window._scaleX = data.scaleX;  
						window._scaleY = data.scaleY;  
					}  
				});  
			}  
  
			//选择图片  
			function selectImage() {  
				plus.gallery.pick(function(path) {  
					loadImage(path);  
				}, function(e) {  
					mui.toast("没有选择图片.");  
				});  
			}  
  
			//确定选择图片  
			function loadImage(path) {  
				var img = document.getElementById("userImage_id");  
				img.src = path;  
				if(window.imageDisable == true) {  
					$("#userImage_id").cropper("enable");  
				}  
				$("#userImage_id").cropper("replace", path);  
				//启用几个功能按钮  
				$("button.toolbutton").prop("disabled", false);  
				document.getElementById("userImage_id").onclick = function() {  
					plus.runtime.openFile(path);  
				}  
			}  

运行环境
[系统版本]
[浏览器版本]
[IDE版本]
[mui版本]

附件
[代码片段]
[安装包]

联系方式
[QQ] 58227926
[电话]15559557126

2017-08-21 13:01 负责人:无 分享
已邀请:
坛子

坛子

sdk确实有这个bug

Android_Yanbin

Android_Yanbin - 我们不一样

请将离线工程的targetSdkVersion属性值设为<=21 或者不设置这个属性

Moe9YuKa

Moe9YuKa

我也出现这个问题了,最新版的,但是hbuilder的真机调试或者云打包就不会出现问题

skysowe

skysowe

安卓7调用摄像头拍摄二维码,一团黑,什么画面也没有~

9***@qq.com

9***@qq.com

我的也是摄像头调不起来- -

skysowe

skysowe

今天拿到了坚果Pro2,安卓7.1.1,第一次用摄像头的时候,是ok的,第二次之后就始终是一团黑,什么也看不到了~

在小米Mix2上也是如此,应该是安卓7的权限更高了?sdk需要更新!

Android_Yanbin

Android_Yanbin - 我们不一样

尝试一下最新的SDK ,并且设置targetSdkVersion 21

l***@163.com

l***@163.com

我也是,请问有结局的吗

该问题目前已经被锁定, 无法添加新回复