Android实现二维码扫描并登陆网页
程序员文章站
2024-03-01 11:30:16
之前写过一个二维码扫描demo,用的zxing的框架,点击下载,后续扫描二维码中出现一些问题,比如解决压缩图片,调整扫描窗口大小等等。后续单位要求做扫描登录实现,发现难点就...
之前写过一个二维码扫描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实现二维码扫描并登陆网页的相关知识,希望对大家有所帮助
上一篇: 初步介绍MySQL中的集合操作
下一篇: Java从网络读取图片并保存至本地实例
推荐阅读
-
Android实现二维码扫描并登陆网页
-
Android 基于google Zxing实现二维码、条形码扫描,仿微信二维码扫描效果(推荐)
-
Android基于google Zxing实现各类二维码扫描效果
-
Android 基于google Zxing实现二维码、条形码扫描,仿微信二维码扫描效果(推荐)
-
Android基于google Zxing实现各类二维码扫描效果
-
Android基于google Zxing实现各类二维码扫描效果
-
Android-Zxing实现二维码的扫描与生成
-
Android中利用zxing实现自己的二维码扫描识别详解
-
Android-Zxing实现二维码的扫描与生成
-
Android开发实现模仿360二维码扫描功能实例详解