AndroidのQRコードをデコードするためにZxingライブラリを使用しています。QRコードを取得できます。さて、返される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);
}
});
希望、私はそれをすべてクリアします。あなたの素晴らしいノックを待っています。ありがとうございました。