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

【报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
重新检查安卓权限配置,问题已经解决。

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