当前位置: 移动技术网 > 移动技术>移动开发>Android > Android实现二维码扫描并登陆网页

Android实现二维码扫描并登陆网页

2019年07月24日  | 移动技术网移动技术  | 我要评论

之前写过一个二维码扫描demo,用的zxing的框架,点击下载,后续扫描二维码中出现一些问题,比如解决压缩图片,调整扫描窗口大小等等。后续单位要求做扫描登录实现,发现难点就是怎么知道你扫描的是这台电脑,后台必须获取到(后台技术的问题)然后把这个参数给我,再传递到后台,后台判断登录即可。这样自己扫描后直接传递个参数就可以实现登录了。

效果如下:

大概代码实现:扫描跳转:

//扫描登录a
case r.id.tv_more_qr:
if (pventquickclick.isfastdoubleclick()) {
break;
}
dialogutils.showcommonpopupwindow(context);
myapplication.checklogin(context, new appcallback() {
@override
public void appcallback(string userid) {
// todo auto-generated method stub
dialogutils.dismisscommonpopupwindow();
intent opencameraintent = new intent(context,captureactivity.class);//zing框架的类
startactivityforresult(opencameraintent,0);
}
});
break;

然后扫描后会返回扫描的结果在onactivityresult

@override
public void onactivityresult(int requestcode, int resultcode, intent data) {
super.onactivityresult(requestcode, resultcode, data);

if (resultcode == getactivity().result_ok) {
bundle bundle = data.getextras();
string qrresult = bundle.getstring(result);
logutils.log_e(qrresult, qrresult);
int scan= qrresult.indexof(+);
//对切取字符串判断
//登录
if(scan>0){
string starts = qrresult.substring(0, scan);
string ends = qrresult.substring(scan+1, qrresult.length());
logutils.log_e(starts, starts+.......+ends);
if(ends.equals(qrlogin)){
intent intent = new intent(context,qrlogin.class);//跳转到确认登录界面
intent.putextra(scanresult, starts);
startactivity(intent);
}
}else if(stringutils.geturl(qrresult)){//是html的链接直接跳转浏览器,比如apk下载等等
intent intent =new intent();
intent.setaction(android.intent.action.view);
uri content_url =uri.parse(qrresult);
intent.setdata(content_url);
startactivity(intent);
}else if(!stringutils.geturl(qrresult)){
toast.maketext(getactivity(), 客官,您扫的找不到呀!!, 0).show();
}
}
}

然后跳转到确认登录界面:

点击判断传参:

@override
protected void baseonclick(view v) {
switch (v.getid()) {
case r.id.tv_qr_login:
// toast.maketext(qrlogin.this, 登录, 0).show();
dialogutils.showcommonpopupwindow(qrlogin.this);
linkedhashmap get_checkqrcodelogin = new linkedhashmap();
get_checkqrcodelogin.put(key, myapplication.getuserstate(loginkey));// android 固定为1
get_checkqrcodelogin.put(sessionid, sessionid);// android 固定为1
httpmanager.getcheckqrcodelogin(get_checkqrcodelogin, new netcallback() {
@override
public void callback(string result) {
dialogutils.dismisscommonpopupwindow();
logutils.log_e(getcheckqrcodelogin, result);
final checkqrcodelogin checkqrcode = jsonutils.getbeanfromjson(
result, checkqrcodelogin.class);
if(checkqrcode.code.equals(1)){
toast.maketext(qrlogin.this, 登录成功, 0).show();
finish();
}
}
});
break;

以上所述是小编给大家介绍的android实现二维码扫描并登陆网页的相关知识,希望对大家有所帮助

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网