最近在做扫码登录的功能 找了zxing跟zBar 都试了下 这里简单讲讲zxing吧
我开始用的时候不是太懂扫码(不知道有木有人有这个误区,总感觉二维码扫出来就没有了,然后各种理解不了登录)
后来个人理解是:
1、比如说某个公司的登录二维码,扫出来是特定的网址,例如:www.csdn.cn
2、然后比较是否是该公司的二维码,比如可以用
if(result.startwith("www.csdn")){
//TODO:扫出正确的做处理
}else{
//TODO:扫出不正确的做处理
}
3、跳转到确认登录页面(防止多个客户端同时登录),点击“确认登录”后把网页登录需要的信息从客户端发给服务器
4、回到该回到的页面,网页也成功登录了。
大体的逻辑是这样子的,有好的IDEA 欢迎私信,
个人邮箱:jsmeli@163.com
然后是zxing的一些基础东西
这个是zxing里面扫码结果处理的地方(在CaptureActivity中找到这个方法,在这里处理就行了)
/** * 处理扫码结果 * @param result * @param barcode */ public void handleDecode(Result result, Bitmap barcode) { inactivityTimer.onActivity(); playBeepSoundAndVibrate(); String resultString = result.getText(); //处理过程 if (resultString.equals("")) { Toast.makeText(CaptureActivity.this, "Scan failed!", Toast.LENGTH_SHORT).show(); }else { Intent resultIntent = new Intent(); Bundle bundle = new Bundle(); bundle.putString("result", resultString); resultIntent.putExtras(bundle); this.setResult(RESULT_OK, resultIntent); } CaptureActivity.this.finish(); }
最后附件是一个半成品 zxing文件是可用的 还有一个zxing.lib
希望能够帮助大家!