我喜欢在我的应用程序中直接解码QR Code,我不会将我的应用程序重定向到其他意图。我非常努力地找到任何API或库,我可以从中解码QR码,但我没有成功。
任何人都知道我如何解码我的应用程序或库文件中的QR码,我可以从中解码QR码。
答案 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
的示例
答案 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();
}
}