Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

安卓新机不支持。版本android9,已找到原因 #175

Open
zc422 opened this issue Nov 12, 2018 · 27 comments
Open

安卓新机不支持。版本android9,已找到原因 #175

zc422 opened this issue Nov 12, 2018 · 27 comments

Comments

@zc422
Copy link

zc422 commented Nov 12, 2018

作者判断时候是判断X.0版本号的(X为1-9),而新机(如 华为mate20)安卓版本号为9,并非9.0,故判断不到,所以导致生成不了二维码。故将n方法里改为如下图代码即可
image

@uhowep
Copy link

uhowep commented Dec 22, 2018

thanks so much

@zc422
Copy link
Author

zc422 commented Dec 22, 2018

@uhowep happy to help you

@LLprince
Copy link

666,thanks

@LLprince
Copy link

@zc422

@zc422
Copy link
Author

zc422 commented Dec 29, 2018

@LLprince 😄

@xiaoxiaoyisheng
Copy link

改一下版本号的正则表达式不是更简单吗?
var aMat = sAgent.toString().match(/android ([0-9].[0-9])/i);
这句话改为
var aMat = sAgent.toString().match(/android (([0-9]).?[0-9]?)/i);

@spencer17x
Copy link

试了还是不行,二维码是能生成,但是长按没反应

@zc422
Copy link
Author

zc422 commented Feb 28, 2019

@XuZpeng ,在微信里长按没反应吗?

@zc422
Copy link
Author

zc422 commented Feb 28, 2019

@xiaoxiaoyisheng 当时没管那么多。🤔

@spencer17x
Copy link

@zc422 是的,就安卓9就不行,其他都行,二维码是正常生成了的,之前也是正常,升级了系统就凉了

@zc422
Copy link
Author

zc422 commented Feb 28, 2019

@XuZpeng 方便发代码来看下吗

@spencer17x
Copy link

js:
new QRCode($('.qrcode')[0], {
text: "https://xcx.hexiaoxiang.com/cup_race?refer_id=" + refer_id + "&record_id=" + record_id,
width: 128,
height: 128
});

html:


@spencer17x
Copy link

@zc422
function _getAndroid() {
var android = false;
var sAgent = navigator.userAgent;

	if (/android/i.test(sAgent)) { // android
		android = true;
		var aMat = sAgent.toString().match(/android ([0-9].?[0-9]?)/i);
		
		if (aMat && aMat[1]) {
			android = parseFloat(aMat[1]);
		}
	}
	
	return android;
}

源码我都试了还是不行。。

@spencer17x
Copy link

作者为啥不把修复过的代码添加到仓库里,我看仓库里的代码还是旧的。

@xikedafeige
Copy link

@我跟他一样的问题

@xikedafeige
Copy link

解决了吗

@zc422
Copy link
Author

zc422 commented Mar 11, 2019

@xikedafeige 有没网址我看看,或者发代码。

@zc422
Copy link
Author

zc422 commented Mar 11, 2019

@XuZpeng 作者应该没有维护了,你的图片是放在画布里还是ing里

@blue7cat
Copy link

我也是android 9 不行,二维码是能生成,但是长按没反应。

@zc422
Copy link
Author

zc422 commented Mar 11, 2019

@blue7cat 发网址或者代码

@zc422
Copy link
Author

zc422 commented Mar 11, 2019

@blue7cat 估计是布局问题,你可以试下长按你步骤图片的左上角会出来识别二维码。然后百度查下微信识别二维码的机制调整下就好了

@blue7cat
Copy link

@zc422 非常感谢

@westdrug
Copy link

@zc422 好使

@yaohaohao-xinqing
Copy link

感谢

@elvinn
Copy link

elvinn commented Jun 24, 2019

如果将来有 Android 10 的话这个正则就失效了,建议使用 /android ([0-9]+\.?[0-9]?)/i

@zc422
Copy link
Author

zc422 commented Jun 24, 2019

@elvinn 是的,Android Q已经出了🤒

@SkyLandBeast
Copy link

安卓10和10以上无法画出二维码,因为作者的正则过时了,当时作者写表达式匹配的时候手机还没有出道安卓10以上
qrcode.js _getAndroid 方法里面的正则判断改为:var aMat = sAgent.toString().match(/([aA])ndroid ([0-9.]*)/i);

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests