Android實(shí)現(xiàn)二維碼掃描并登陸網(wǎng)頁(yè)
之前寫(xiě)過(guò)一個(gè)二維碼掃描demo,用的Zxing的框架,點(diǎn)擊下載,后續(xù)掃描二維碼中出現(xiàn)一些問(wèn)題,比如解決壓縮圖片,調(diào)整掃描窗口大小等等。后續(xù)單位要求做掃描登錄實(shí)現(xiàn),發(fā)現(xiàn)難點(diǎn)就是怎么知道你掃描的是這臺(tái)電腦,后臺(tái)必須獲取到(后臺(tái)技術(shù)的問(wèn)題)然后把這個(gè)參數(shù)給我,再傳遞到后臺(tái),后臺(tái)判斷登錄即可。這樣自己掃描后直接傳遞個(gè)參數(shù)就可以實(shí)現(xiàn)登錄了。
效果如下:
大概代碼實(shí)現(xiàn):掃描跳轉(zhuǎn):
//掃描登錄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;
然后掃描后會(huì)返回掃描的結(jié)果在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(+); //對(duì)切取字符串判斷 //登錄 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);//跳轉(zhuǎn)到確認(rèn)登錄界面 intent.putExtra(scanResult, starts); startActivity(intent); } }else if(StringUtils.getUrl(qrResult)){//是html的鏈接直接跳轉(zhuǎn)瀏覽器,比如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(); } } }
然后跳轉(zhuǎn)到確認(rèn)登錄界面:
點(diǎn)擊判斷傳參:
@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實(shí)現(xiàn)二維碼掃描并登陸網(wǎng)頁(yè)的相關(guān)知識(shí),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- Android實(shí)現(xiàn)二維碼掃描和生成的簡(jiǎn)單方法
- Android開(kāi)發(fā)框架之自定義ZXing二維碼掃描界面并解決取景框拉伸問(wèn)題
- Android基于google Zxing實(shí)現(xiàn)各類二維碼掃描效果
- Android平臺(tái)生成二維碼并實(shí)現(xiàn)掃描 & 識(shí)別功能
- Android基于zxing的二維碼(網(wǎng)格)掃描 仿支付寶網(wǎng)格掃描
- Android利用ZXing掃描二維碼的實(shí)例代碼解析
- Android 基于google Zxing實(shí)現(xiàn)二維碼、條形碼掃描,仿微信二維碼掃描效果(推薦)
- Android實(shí)現(xiàn)基于ZXing快速集成二維碼掃描功能
- Android中二維碼的生成方法(普通二維碼、中心Logo 二維碼、及掃描解析二維碼)
- Android-Zxing實(shí)現(xiàn)二維碼的掃描與生成
- Android中的二維碼生成與掃描功能
- Android開(kāi)發(fā)實(shí)現(xiàn)模仿360二維碼掃描功能實(shí)例詳解
相關(guān)文章
使用genymotion訪問(wèn)本地上Tomcat上數(shù)據(jù)的方法
下面小編就為大家?guī)?lái)一篇使用genymotion訪問(wèn)本地上Tomcat上數(shù)據(jù)的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03AndroidStudio 實(shí)現(xiàn)加載字體資源的方法
這篇文章主要介紹了AndroidStudio 實(shí)現(xiàn)加載字體資源的方法的相關(guān)資料,這里提供了詳細(xì)的實(shí)現(xiàn)方法,需要的朋友可以參考下2016-11-11在Android系統(tǒng)中使用gzip進(jìn)行數(shù)據(jù)傳遞實(shí)例代碼
HTTP協(xié)議上的GZIP編碼是一種用來(lái)改進(jìn)WEB應(yīng)用程序性能的技術(shù),4.4MB的文本數(shù)據(jù)經(jīng)過(guò)Gzip傳輸?shù)娇蛻舳酥笞優(yōu)?92KB,壓縮效率極高,下面與大家分享下具體的實(shí)現(xiàn)2013-06-06解決Could not find com.android.tools.build:gradle:3.0.0
這篇文章主要介紹了在Android Studio升級(jí)時(shí)碰到Could not find com.android.tools.build:gradle:3.0.0問(wèn)題的解決方法,需要的朋友跟隨小編一起看看吧2021-08-08Android利用zxing快速集成二維碼掃描的實(shí)例教程
最近二維碼真是越來(lái)越火了,隨便電視上、網(wǎng)絡(luò)上、商場(chǎng)里,到處都是二維碼,所以下面這篇文章我們就來(lái)給大家介紹關(guān)于Android利用zxing快速集成二維碼掃描的相關(guān)資料,需要的朋友可以參考借鑒,下面隨著小編來(lái)一起看看吧。2017-09-09Android實(shí)現(xiàn)彈出列表、單選、多選框
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)彈出列表、單選、多選框,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-10-10實(shí)現(xiàn)Android 獲取cache緩存的目錄路徑的方法
這篇文章主要介紹了實(shí)現(xiàn)Android 獲取cache緩存的目錄路徑的方法的相關(guān)資料,這里實(shí)現(xiàn)一個(gè)靜態(tài)類來(lái)實(shí)現(xiàn)該功能,希望能幫助到大家,需要的朋友可以參考下2017-08-08Android開(kāi)發(fā)獲取當(dāng)前系統(tǒng)日期和時(shí)間功能示例
這篇文章主要介紹了Android開(kāi)發(fā)獲取當(dāng)前系統(tǒng)日期和時(shí)間功能,結(jié)合實(shí)例形式分析了Android布局、事件響應(yīng)、監(jiān)聽(tīng)以及時(shí)間獲取相關(guān)操作技巧,需要的朋友可以參考下2019-04-04Android下拉刷新框架實(shí)現(xiàn)代碼實(shí)例
這篇文章主要介紹了Android下拉刷新框架實(shí)現(xiàn)代碼實(shí)例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-11-11