回梦無痕
回梦無痕
  • 发布:2018-07-21 11:57
  • 更新:2019-03-26 10:37
  • 阅读:3321

【报Bug】wap2app云打包后,扫描二维码闪退,选择图片识别二维码无反应

分类:HTML5+

安卓的问题,真机测试正常,云打包后有问题。

HBuilder 9.1.0.201806222137-alpha这个版本下云打包,摄像头扫描二维码闪退,选择图片识别二维码无反应,两种方式均无返回错误信息。

HBuilder 9.0.8.201806081953这个版本下云打包,摄像头扫描二维码闪退,无错误信息,选择图片识别二维码正常。

以上为亲测的情况,是wap2app.

测试的代码是直接用官方H5+演示的案例,此扫描二维码页面放在本地,在wap2app的导航栏中点击图标跳转至扫描二维码页面。

放一个百度网址的二维码,方便测试。

<!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 type="text/javascript" src="../js/common.js"></script>  
        <script type="text/javascript">  
var ws=null,wo=null;  
var scan=null,domready=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');  
        scan.onmarked=onmarked;  
        scan.start({conserve:true,filename:'_doc/barcode/'});  
    }, false);  
    // 显示页面并关闭等待框  
    ws.show('pop-in');  
    wo.evalJS('closeWaiting()');  
}  
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(/\r\n/g, '');  
    wo.evalJS("scaned('"+ type +"','"+ result +"','"+ file +"');");  
    back();  
}  
// 从相册中选择二维码图片   
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: 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>  
            <div class="fbt" onclick="back()">取  消</div>  
            <div class="fbt" onclick="scanPicture()">从相册选择二维码</div>  
        </footer>  
    </body>  
</html>  
2018-07-21 11:57 负责人:无 分享
已邀请:
DCloud_App_Array

DCloud_App_Array

已确认此问题是因为应用没有配置震动权限(扫码成功时会震动设备)引起的,在manifest.json的权限列表中勾选“<uses-permission android:name="android.permission.VIBRATE"/>”,重现提交云端打包即可。

  • 4***@qq.com

    从相册中选二维码图片识别失败,怎么解决。

    2018-07-24 09:33

  • DCloud_App_Array

    请提供下从相册选择识别失败的图片

    2018-07-24 18:30

  • 3***@qq.com

    回复 4***@qq.com: 请问你解决了吗

    2019-09-04 15:09

回梦無痕

回梦無痕 (作者) - 暂停服务

自顶

2***@qq.com

2***@qq.com - 做点喜欢的事情

模块权限问题

  • 回梦無痕 (作者)

    并不是。权限都给了

    2018-07-23 10:19

回梦無痕

回梦無痕 (作者) - 暂停服务

。。

DCloud_App_Array

DCloud_App_Array

请提供下应用的appid(manifest.json文件中的id字段值),我们查下后台打包日志确认下问题。

p***@sina.com

p***@sina.com

是啊,很奇怪,有时候ios也会,同一个二维码,如果移动二维码位置,有时候又可以扫描到

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