2012-05-29 2 views
0

Я инициализировал камеру, и я запускаю ее в режиме предварительного просмотра. Для предварительного просмотра я беру исходный код от http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/graphics/CameraPreview.htmlКак декодировать изображение QR-кода из предварительного просмотра андроида?

Теперь я хочу декодировать QR-код с помощью библиотеки zxing из предварительного просмотра, но я не знаю, как это сделать. Можете ли вы мне помочь?

ответ

1

если вы хотите декодировать QR-код с Zwing, вы должны использовать эти 2 класса:

IntentIntegrator.java 
IntentResult.java 

Вызов Намерение, как это в вашей деятельности:

IntentIntegrator intentScan = new IntentIntegrator(this); 
Collection<String> desiredBarcodeFormat = Collections.unmodifiableCollection(Arrays.asList("QR_CODE")); 
intentScan.initiateScan(); 

Вы получаете результат в вашей активность этого метода:

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    switch (requestCode) { 
    case IntentIntegrator.REQUEST_CODE: 
     if (resultCode == RESULT_OK) { 
      IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, data); 
      if (scanResult != null) 
       String out = scanResult.getContents(); 
     } 
    } 
} 

Ссылка на документацию:

http://code.google.com/p/zxing/wiki/ScanningViaIntent

Ссылка на классы:

http://code.google.com/p/zxing/source/browse/trunk/android-integration/src/com/google/zxing/integration/android/

+2

Чтобы добавить Skies ответ. Подробные сведения об этом методе можно найти на zxing wiki здесь: http://code.google.com/p/zxing/wiki/ScanningViaIntent и код для классов IntentIntegrator и IntentResult здесь: http://code.google.com/p/zxing/source/browse/trunk/android-integration/src/com/google/zxing/integration/android/ – paulkayuk

+0

thx, я обновляю свой ответ. – Skies

+0

Спасибо, но если я использую этот класс, я должен установить asclication сканера штрих-кода, и я не буду устанавливать какое-либо другое приложение. Есть ли способ сделать это? – Teo