[]使用官方文档中qrcode生成二维码的代码,打包APP后无效

完全照抄官方文档中关于使用qrcode生成二维码的代码,在IDE运行正常,发布为H5也正常,但是发布成APP之后就不行了,二维码生成不了,麻烦老师看下是什么问题,谢谢!
        private initCode() {
var div: any = Laya.Browser.document.createElement("div");
this.qrcode = new Laya.Browser.window.QRCode(div, {
width: 100,
height: 100
});
var url: string = this.URL;
this.qrcode.makeCode(url);

Laya.stage.once("click", this, this.clickHandler);
this.qrcodeSp = new Laya.Sprite();
Laya.stage.addChild(this.qrcodeSp);

}

private clickHandler(): void {
var url: string = this.qrcode._oDrawing._elImage.src;//获取,注意这里是异步的,开发者可以加个延时在获取。
this.qrcodeSp.loadImage(url, 0, 0, 100, 100);
}
已邀请:

zhang92tong

赞同来自:

this.qrcode.makeCode(url);  应该是这句话失效了,执行之后this.qrcode._oDrawing._elImage.src是空的

aVs

赞同来自:

this.qrcode.makeCode(url)失效的问题我也遇到并解决了,原因在于js的逻辑中关于Android版本的解析逻辑不完备,位于方法_getAndroid中,导致解析出错。
有2个解决办法
1、完善解析逻辑,正确解析Android版本。
2、使用的地方修正。
因为涉及到的地方是兼容Android2.1以下的逻辑,所以我暂时先不判断Android版本规避一下(因为项目都是4.X以上甚至5.X以上了),正解应该是1
 
// if (typeof this._oDrawing.makeImage == "function" && (!this._android || this._android >= 3)) {
if (typeof this._oDrawing.makeImage == "function") {
 

要回复问题请先

商务合作
商务合作