마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Android Zxing 스캔 후 Activity 로 돌아오는 방법좀..

0 추천

현재 MainActivity 에서

Intent intent = new Intent( MainActivity.this, CaptureActivity.class );
    intent.putExtra("SCAN_MODE", "QR_CODE_MODE");

    startActivityForResult(intent, 1);

 

이렇게 호출하면서

 

@Override
 protected void onActivityResult(int requestCode, int resultCode, Intent data){
  if(requestCode==1) {
         if ( resultCode == RESULT_OK ) {
           Bitmap bm = (Bitmap)data.getExtras().get("bm");
          barcode.setImageBitmap(bm);
         }
  }
 }

 

이렇게 받고 있습니다. 그런데 zxing 에서 바코드 스캔 후 바코드 이미지만 화면에 뿌릴 뿐 전 Activity 로 돌아오지 않고 있습니다.

어디 부분을 수정해야 될지 도움이 필요해서 질문합니다.

 

제가 보기엔 handleDecodeInternally 함수나 handleDecode() 함수에서 어떻게 하면 될꺼같은데 ㅠ.ㅠ 전혀 감이 안오네요~! 혹시 알고 계시는 분들은 제게 도움을 주세요 ㅠ.ㅠ

닉네임입니다 (120 포인트) 님이 2016년 5월 23일 질문

1개의 답변

0 추천
DecodeHandler.java 파일에 decode메소드 보시면 if (rawResult != null) {} 이 코드가있을거에요
.. 여기가 qr코드 스캔하고 값 읽어오는곳인데 여기다가 액티비티이동을시키든지 finish()줘서 
qr코드를 종료시키든지 하시면될고ㅓ같습니다.

 

sadeva (21,550 포인트) 님이 2016년 5월 23일 답변
아니요 ㅠ.ㅠ 토스트 메시지도 나오지 않고 있습니다 ㅠ.ㅠ
근데 디버깅 찍어서 확인하면 send_qrcode에는 들어오는데 ㅠ.ㅠ
intent.putExtra(Intents.Scan.RESULT, rawResult.toString());
      intent.putExtra(Intents.Scan.RESULT_FORMAT, rawResult.getBarcodeFormat().toString());
      intent.putExtra("bm", (Bitmap) barcode);  여기 값들 다 로그직어서 정상적으로 들어오나 확인해보세여.
네 로그 찍으니 제대로 찍히는데 ㅠ.ㅠ

Intent intent = getIntent();
      intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
      intent.putExtra(Intents.Scan.RESULT, rawResult.toString());
      Log.w(TAG, "init"+rawResult.toString());
      intent.putExtra(Intents.Scan.RESULT_FORMAT, rawResult.getBarcodeFormat().toString());
      Log.w(TAG, "init"+rawResult.getBarcodeFormat().toString());
      intent.putExtra("bm", (Bitmap) barcode);
      Toast.makeText(getApplicationContext(), "dd", Toast.LENGTH_SHORT);
      setResult(RESULT_OK, intent);
      finish();

근데 저 intent = getIntent(); 으로 바꿔서 했는데 ㅠ.ㅠ

onActivityResult 함수에 들어오지가않았습니다 .ㅠ ㅠ
아 감사합니다 ㅠ.ㅠ intent.putExtra("bm", (Bitmap) barcode); 이부분이 잘못되서 onActivityResult 함수가 실행되고 있찌 않았습니다 ㅠ.ㅠ 너무 감사합니다
ㅎㅎ 되셨다니 다행이네요
...