編輯:關於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數據庫相關的基礎知識,和幾個頗為有用的SQLite命令,都是直接在命令行操作的。但是我們都知道,數據庫是要和程序結合在一起使用的,
demo的邏輯過程:1.進入程序2.檢查是否有版本更新,如果有則詢問用戶是否更新,否則維持原狀3.檢測當前網絡狀態並且詢問用戶是否進行版本更新,如果是則進行更新,否則維持
最近我家的Wi-Fi好像接入很多不明來歷的Android設備,可是進入路由器查看後,都是類似“androidXXXXX”的設備顯示的
QQ的滑動刪除效果很不錯,要實現這種效果,可以使用SwipeListView。1. 下載com.fortysevendeg.swipelistview這個項目(以前Git