Android实现二维码扫描并登陆网页
之前写过一个二维码扫描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实现二维码扫描并登陆网页的相关知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
- Android实现二维码扫描和生成的简单方法
- Android开发框架之自定义ZXing二维码扫描界面并解决取景框拉伸问题
- Android基于google Zxing实现各类二维码扫描效果
- Android平台生成二维码并实现扫描 & 识别功能
- Android基于zxing的二维码(网格)扫描 仿支付宝网格扫描
- Android利用ZXing扫描二维码的实例代码解析
- Android 基于google Zxing实现二维码、条形码扫描,仿微信二维码扫描效果(推荐)
- Android实现基于ZXing快速集成二维码扫描功能
- Android中二维码的生成方法(普通二维码、中心Logo 二维码、及扫描解析二维码)
- Android-Zxing实现二维码的扫描与生成
- Android中的二维码生成与扫描功能
- Android开发实现模仿360二维码扫描功能实例详解
相关文章
详解Android Material设计中阴影效果的实现方法
这篇文章主要介绍了Android Material设计中阴影效果的实现方法,包括自定义阴影的轮廓和裁剪等,需要的朋友可以参考下2016-04-04
Android使用ViewBinding的详细步骤(Kotlin简易版)
最近这段时间在学习Kotlin,突然发现谷歌已经把kotlin-android-extensions插件废弃,目前推荐使用ViewBinding来进行替代,接下来通过本文给大家分享Android使用ViewBinding的详细步骤,感兴趣的朋友一起学习吧2021-05-05
Android设置TextView显示指定个数字符,超过部分显示...(省略号)的方法
这篇文章主要介绍了Android设置TextView显示指定个数字符,超过部分显示...(省略号)的方法,涉及Android TextView属性设置的相关技巧,需要的朋友可以参考下2016-02-02


最新评论