我正在使用 Zxing 库来解码 android 的 QR 码。我可以得到二维码。现在,我想了解它返回的二维码类型(URL、电话号码、纯文本等)。我试图探索ResultParser类,但我无法使用它。
更新:我使用 ResultParser 类删除了我的错误程序。
这是我的 onActivityResult 代码。
@Override
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == 0) {
if (resultCode == RESULT_OK) {
contents = intent.getStringExtra("SCAN_RESULT");
// check the contents strings here
// Need to get actual return type of result
if (contents.contains("https:") || contents.contains("http:")) {
aBarcode.setBarcode_Type(WEB_URL);
Intent browserIntent = new Intent(Intent.ACTION_VIEW,
Uri.parse(contents));
startActivity(browserIntent);
} else {
aBarcode.setBarcode_Type(PLAIN_TEXT);
Toast.makeText(getApplicationContext(), contents,
Toast.LENGTH_LONG).show();
}
barcodeList.add(aBarcode);
// show previous barcodes detail
showBarcodeReaderHistory();
// Handle successful scan
} else if (resultCode == RESULT_CANCELED) {
Log.e("Barcode Result", "Result canceled");
}
}
}
更新:我打开 ScanActivity 像:
// start scan after button click
btnScanQRCode.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
Intent intent = new Intent(
"com.google.zxing.client.android.SCAN");
intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
startActivityForResult(intent, 0);
}
});
希望,我向所有人澄清。等待你的伟大敲门声。谢谢你。