2013-04-09 2 views
4

zxing에서 대량 모드 스캔을 활성화하는 키가 있습니다. 안드로이드 응용 프로그램에서이 키를 활성화하려면 어떻게해야합니까?zxing에서 대량 모드 스캔을 트리거하는 방법

나는 현재 개별적으로 바코드를 스캔하는 등의 코드를 사용하고 있습니다 :

Intent intent = new Intent("com.google.zxing.client.android.SCAN"); 
intent.putExtra("SCAN_FORMATS", "PRODUCT_MODE,CODE_39,CODE_93,CODE_128,DATA_MATRIX,ITF"); 

startActivityForResult(intent, 0); // start the scan 

감사합니다!

+0

"대량 모드 스캔"이란 무엇입니까? – FoamyGuy

+0

한 번에 ZXing이 카메라를 시작하면 바코드를 목록으로 계속 스캔 할 수 있으며 카메라가 사용자가 버튼을 클릭 할 때만 종료됩니다. 이 목록은 다른 포럼에서 언급 한 것처럼 CSV 파일로 저장할 수 있습니다. – user990639

+1

주식 구현에서 할 수있는 것처럼 보이지 않습니다. https://code.google.com/p/zxing/source/browse/trunk/android/src/com/google/zxing/client/android/CaptureActivity.java 대신 애플리케이션에 빌드해야합니다. 당신이 원하는 것을하기 위해 그것을 수정하십시오. – TomJ

답변

6

zxing 내에서 "대량 모드"의 개념이 없다고 생각하지 않습니다.

자신의 응용 프로그램 내에서 zxing을 사용하여 찾고있는 동작을 확실히 구현할 수 있습니다. 질문에 이미 가지고있는 코드를 사용하여 처음으로 스캐닝을 시작하십시오. 클래스에이 선언을 추가

ArrayList<String> results; 

그런 전에에서 onCreate 안에이 추가 당신이 그것을 초기화 스캔을 시작 : 당신의 onActivityResult를 내부

results = new ArrayList<String>(); 

() 당신이 당신의 ArrayList에 현재 결과를 추가 할 수 있습니다 다음 스캔을 시작하십시오. CSV 파일로 저장

/*Here is where we come back after the Barcode Scanner is done*/ 
public void onActivityResult(int requestCode, int resultCode, Intent intent) { 
    if (requestCode == 0) { 
     if (resultCode == RESULT_OK) { 
      // contents contains whatever the code was 
      String contents = intent.getStringExtra("SCAN_RESULT"); 

      // Format contains the type of code i.e. UPC, EAN, QRCode etc... 
      String format = intent.getStringExtra("SCAN_RESULT_FORMAT"); 

      // Handle successful scan. In this example add contents to ArrayList 
      results.add(contents); 

      Intent intent = new Intent("com.google.zxing.client.android.SCAN"); 
      intent.putExtra("SCAN_FORMATS", "PRODUCT_MODE,CODE_39,CODE_93,CODE_128,DATA_MATRIX,ITF"); 
      startActivityForResult(intent, 0); // start the next scan 
     } else if (resultCode == RESULT_CANCELED) { 
      // User hass pressed 'back' instead of scanning. They are done. 
      saveToCSV(results); 
      //do whatever else you want. 
     } 
    } 
} 

이 특정 질문의 범위를 넘어,하지만 당신이 주변에 보면 당신은 그것을 수행하는 방법의 예를 찾을 수 있습니다. 당신이 배우기위한 연습으로 공백으로 남겨 두었다고 생각하십시오.

+1

그것은 안드로이드 애플 리케이션, 바코드 스캐너 내부에 설정으로 존재하지만 예, 그것은 의도를 통해 노출되지 않습니다. –

+0

고마워요 @FoamyGuy! – user990639

+0

@SeanOwen 그래. 그러나 벌크 스캔 모드를 활성화하는 옵션이 있다는 것을 알았습니다. 그러나 src 코드를 프로그램에 가져 오기 전까지는 사용할 수있는 방법이없는 것 같습니다. 어쩌면 미래에 대량 스캔을 수행하고 목록을 반환하려는 의도가있을 수 있습니다. 감사! – user990639

관련 문제