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实现二维码扫描并登陆网页 的全部内容, 来源链接: utcz.com/z/334072.html

回到顶部