Как расшифровать QR-код - PullRequest
8 голосов
/ 29 июня 2011

Мне нравится декодировать QR-код непосредственно в моем приложении, я не хочу перенаправлять свое приложение для других целей. Я очень стараюсь найти любой API или библиотеку, из которой я могу декодировать QR-код, но мне это не удается.

Кто-нибудь знает, как я могу декодировать QR-код в моем приложении или файле библиотеки, из которого я могу декодировать QR-код.

Ответы [ 5 ]

13 голосов
/ 29 июня 2011

Zxing - отличная библиотека для QR-кодов.Там вы найдете то, что вам нужно, в том числе пример проекта Android.

6 голосов
/ 18 июля 2011

Вот пример того, как мне удается декодировать 1D штрих-код и 2d QR-коды с помощью библиотеки Zxing в Android.

QR DECODE

     Intent intent = new Intent("com.google.zxing.client.android.SCAN");
     intent.putExtra("SCAN_MODE", "QR_CODE_MODE");  
     startActivityForResult(intent, REQUEST_BARCODE);

     Toast toast = Toast.makeText(this, "Start scanning QR code", Toast.LENGTH_SHORT);
     toast.show();

штрих-код

     Intent intent = new Intent("com.google.zxing.client.android.SCAN");
     intent.putExtra("SCAN_MODE", "PRODUCT_MODE");  
     startActivityForResult(intent, REQUEST_BARCODE);

     Toast toast = Toast.makeText(this, "Start scanning Barcode", Toast.LENGTH_SHORT);
     toast.show();

Этот код работает на Android Samsung Galaxy S (версия 2.2). Если вы хотите проверить различные режимы сканирования, проверьте эту ссылку: Zxing Intents.java

С наилучшими пожеланиями

4 голосов
/ 17 сентября 2015

Теперь вы можете использовать BarcodeDetector внутри нового API Android Mobile Vision

Вот пример https://github.com/Gnzlt/AndroidVisionQRReader

4 голосов
/ 31 июля 2013

Вы также можете использовать считыватель штрих-кода ZBar здесь http://sourceforge.net/projects/zbar/?source=dlp

это намного быстрее, чем zxing и намного проще в реализации.

0 голосов
/ 15 сентября 2015
static final String ACTION_SCAN = "com.google.zxing.client.android.SCAN";


// Bar Code

public void scanBarCode(View v) {

        try {
            //start the scanning activity from the com.google.zxing.client.android.SCAN intent

            Intent intent = new Intent(ACTION_SCAN);

            intent.putExtra("SCAN_MODE", "PRODUCT_MODE");

            startActivityForResult(intent, 0);

        } catch (ActivityNotFoundException anfe) {

            //on catch, show the download dialog

            showDialog(AndroidBarcodeQrExample.this, "No Scanner Found", "Download a scanner code activity?", "Yes", "No").show();
        }
    }


// QR Code

    public void scanQR(View v) {

        try {

            //start the scanning activity from the com.google.zxing.client.android.SCAN intent

            Intent intent = new Intent(ACTION_SCAN);

            intent.putExtra("SCAN_MODE", "QR_CODE_MODE");

            startActivityForResult(intent, 0);

        } catch (ActivityNotFoundException anfe) {

            //on catch, show the download dialog

            showDialog(AndroidBarcodeQrExample.this, "No Scanner Found", "Download a scanner code activity?", "Yes", "No").show();
        }
    }
...