k***@126.com
k***@126.com
  • 发布:2019-02-22 09:18
  • 更新:2019-03-22 11:34
  • 阅读:1257

【报Bug】安卓打包后,扫描二维码不能使用

分类:HTML5+

就我一个人有这样的问题吗?
以前正常,最近发现打包后在安卓系统下不能使用二维码扫描,包括官方案例。

重现步骤
打开扫描页

IDE运行环境说明
HBuilderX
1.6.2
window 7

App运行环境说明
android 8.0.0
华为EVA-AL00,vivo X510,OPPO A53

代码

<!DOCTYPE html>  
<html>  
	<head>  
		<meta charset="utf-8"/>  
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover"/>  
		<meta name="HandheldFriendly" content="true"/>  
		<meta name="MobileOptimized" content="320"/>  
		<title>Hello H5+</title>  
		<script type="text/javascript" src="../js/common.js"></script>  
		<script type="text/javascript">  
var ws=null,wo=null;  
var scan=null;  
// H5 plus事件处理  
function plusReady(){  
	// 获取窗口对象  
	ws=plus.webview.currentWebview();  
	wo=ws.opener();  
	// 开始扫描  
	ws.addEventListener('show', function(){  
		scan=new plus.barcode.Barcode('bcid');  
	    scan.onmarked=onmarked;  
	    scan.start({conserve:true,filename:'_doc/barcode/'});  
		createSubview();  
	}, false);  
	// 显示页面并关闭等待框  
    ws.show('pop-in');  
}  
document.addEventListener('plusready', plusReady, false);  
  
// 二维码扫描成功  
function onmarked(type, result, file){  
    switch(type){  
    	case plus.barcode.QR:  
    	type = 'QR';  
    	break;  
    	case plus.barcode.EAN13:  
    	type = 'EAN13';  
    	break;  
    	case plus.barcode.EAN8:  
    	type = 'EAN8';  
    	break;  
    	default:  
    	type = '其它'+type;  
    	break;  
    }  
    result = result.replace(/\r\n/g, '');  
    wo.evalJS("scaned('"+ type +"','"+ result +"','"+ file +"');");  
    back();  
}  
// 创建子窗口  
function createSubview(){  
	//  
}  
// 从相册中选择二维码图片   
function scanPicture(){  
    plus.gallery.pick(function(path){  
	    plus.barcode.scan(path,onmarked,function(error){  
			plus.nativeUI.alert('无法识别此图片');  
		});  
    }, function(err){  
        console.log('Failed: '+err.message);  
    });  
}  
		</script>  
		<link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8"/>  
		<style type="text/css">  
#bcid {  
	width: 100%;  
	position: fixed;  
	top: 0px;  
	bottom: 0px;  
	text-align: center;  
}  
.tip {  
	color: #FFFFFF;  
	font-weight: bold;  
	text-shadow: 0px -1px #103E5C;  
}  
		</style>  
	</head>  
	<body style="background-color:#000000;">  
		<div id="bcid">  
			<div style="height:40%"></div>  
			<p class="tip">...载入中...</p>  
		</div>  
	</body>  
</html>  

联系方式
41063786

2019-02-22 09:18 负责人:无 分享
已邀请:
k***@126.com

k***@126.com (作者)

怎么没人回应呢?就我一个人有这个问题吗?

e***@sina.com

e***@sina.com

我也是这个问题,估计一时半会解决不了吧,哎,问题好多。。。这种跨平台方案还是不成熟

k***@126.com

k***@126.com (作者)

琢磨了很久,原来是新版本什么时候被取消的摄像头的权限配置android.permission.CAMERA
重新检查安卓权限配置,问题已经解决。

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