如何解码QR码

时间:2011-06-29 10:01:53

标签: android qr-code

我喜欢在我的应用程序中直接解码QR Code,我不会将我的应用程序重定向到其他意图。我非常努力地找到任何API或库,我可以从中解码QR码,但我没有成功。

任何人都知道我如何解码我的应用程序或库文件中的QR码,我可以从中解码QR码。

5 个答案:

答案 0 :(得分:13)

Zxing是一个很好的QR码库。你会在那里找到你需要的东西,包括一个android示例项目。

答案 1 :(得分:6)

以下是我如何使用Android中的Zxing library解码1D条形码和2d QR码的示例。

QR解码

     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();

BARCODE DECODE

     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

最好的问候

答案 2 :(得分:4)

您也可以在http://sourceforge.net/projects/zbar/?source=dlp

使用ZBar条形码阅读器

它比zxing快得多,而且更容易实现。

答案 3 :(得分:4)

您现在可以使用新Android Mobile Vision API

中的BarcodeDetector

以下是https://github.com/Gnzlt/AndroidVisionQRReader

的示例

答案 4 :(得分:0)

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();
        }
    }