详细问题描述
[内容]正式包时,调用扫码模块,APP闪退,官方给出的版本也是这样!
重现步骤
[步骤]打正式的安装包(测试包没问题),调用扫码功能
[结果]闪退
[期望]正常扫描
运行环境
[系统版本]
[浏览器版本]
[IDE版本]
[mui版本]
附件
[代码片段]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<meta name="HandheldFriendly" content="true"/>
<meta name="MobileOptimized" content="320"/>
<title>Hello H5+</title>
<!--<script src="../../js/mui.min.js" type="text/javascript" charset="utf-8"></script>-->
<style type="text/css">
*{display: block;}
</style>
<script type="text/javascript">
var ws=null,wo=null;
var scan=null,domready=false,bCancel=false;
// H5 plus事件处理
function plusReady(){
if(ws||!window.plus||!domready){
return;
}
// 获取窗口对象
ws=plus.webview.currentWebview();
wo=ws.opener();
// 开始扫描
ws.addEventListener('show',function(){
scan=new plus.barcode.Barcode('bcid',[plus.barcode.QR,plus.barcode.EAN8,plus.barcode.EAN13],{frameColor:'#00FF00',scanbarColor:'#00FF00'});
scan.start({conserve:true,filename:'_doc/barcode/'});
scan.onmarked=onmarked;
alert(JSON.stringify(scan));
});
// 显示页面并关闭等待框
ws.show('pop-in');
}
if(window.plus){
plusReady();
}else{
document.addEventListener('plusready', plusReady, false);
}
// 监听DOMContentLoaded事件
document.addEventListener('DOMContentLoaded', function(){
domready=true;
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(/\n/g, '');
wo.evalJS("scaned('"+ type +"','"+ result +"','"+ file +"');");
mui.back();
}
// 从相册中选择二维码图片
function scanSwitch() {
if(bCancel){
scan.start({conserve:true,filename:'_doc/barcode/'});
btCancel&&(btCancel.innerText='暂 停');
}else{
scan.cancel();
btCancel&&(btCancel.innerText='开 始');
}
bCancel=!bCancel;
}
</script>
<link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8"/>
<style type="text/css">
bcid{width: 100%;position: absolute;top: 0px;bottom: 44px;text-align: center;}
.tip{color: #FFFFFF;font-weight: bold;text-shadow: 0px -1px #103E5C;}
footer{width: 100%;height: 44px;position: absolute;bottom: 0px;line-height: 44px;text-align: center;color: #FFF;}
.fbt{width: 50%;height: 100%;background-color: #FFCC33;float: left;}
.fbt:active{-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.5);box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.5);}
</style>
</head>
<body style="background-color: #000000;">
<div id="bcid">
<div style="height:40%"></div>
<p class="tip">...载入中...</p>
</div>
<footer>
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"><div class="fbt">取 消</div></a>
<div id="btCancel" class="fbt" onclick="scanSwitch()">暂 停</div>
</footer>
</body>
</html>
[安装包] m.youdemai.com/g
工号:1091
手机号:15107140033
验证码:123456
联系方式
[QQ] 151714675
[电话]
3 个回复
3***@qq.com
我也遇到了。。。
4***@qq.com - 瞎猫
权限不够,在 manifest.json 文件下的“ 模块权限配置” 中勾选 android.permission.VIBRATE
3***@qq.com
有这个权限的
2018-09-12 09:00
菠萝momo
请问 我加了这个权限 还是存在闪退问题 第一次打开扫二维码正常,在第二次打开就闪退 请问哪里的问题呢?
2020-06-26 10:25
4***@qq.com
我也遇到了。。。楼主记得怎么解决的吗