就我一个人有这样的问题吗?
以前正常,最近发现打包后在安卓系统下不能使用二维码扫描,包括官方案例。
重现步骤
打开扫描页
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