안 드 로 이 드 는 QR 코드 스 캔 을 실현 하고 웹 페이지 에 로그 인 합 니 다.

이전에 QR 코드 로 demo 를 스 캔 하고 Zxing 의 프레임 워 크 를 사용 하 며 다운 로드 를 클릭 한 적 이 있 습 니 다.나중에 QR 코드 를 스 캔 하 는 데 문제 가 발생 했 습 니 다.예 를 들 어 압축 이미지 해결,스 캔 창 크기 조정 등 이 있 습 니 다.후속 단 위 는 스 캔 로그 인 을 요구 하 는데 어 려 운 점 은 바로 당신 이 스 캔 한 것 이 이 컴퓨터 라 는 것 을 어떻게 알 았 는 지 하 는 것 입 니 다.백 스테이지 에서 반드시(백 스테이지 기술 의 문제)를 얻 은 다음 에 이 매개 변 수 를 저 에 게 주 고 백 스테이지 로 전달 하 며 백 스테이지 에서 로그 인 을 판단 하면 됩 니 다.이렇게 스스로 스 캔 한 후에 인 자 를 직접 전달 하면 로그 인 을 실현 할 수 있다.
효 과 는 다음 과 같 습 니 다:

대략적인 코드 구현:스 캔 점프:

//    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;
그리고 스 캔 후 스 캔 결 과 를 되 돌려 줍 니 다.onActivity Result 에 있 습 니 다.

@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;
위 에서 말 한 것 은 안 드 로 이 드 가 QR 코드 스 캔 을 실현 하고 웹 페이지 에 접속 하 는 것 에 관 한 지식 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.편집장 님 께 서 제때에 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기