我想在按钮上扫描QR码点击,问题是当我在我的设备上运行代码时活动结果Intent变量总是返回0.
我如何知道条形码阅读器是否有效?我目前在设备的屏幕上看到黄点。
这是我的代码:
private OnClickListener scanner = new OnClickListener() {
public void onClick(View v) {
IntentIntegrator.initiateScan(BarCodeScannerActivity.this);
}
};
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
if (scanResult != null) {
// handle scan result
String s = "http://www.google.com/search?q=";
s += scanResult.getContents();
Intent myIntent1 = new Intent(Intent.ACTION_VIEW, Uri.parse(s));
startActivity(myIntent1);
}
由于
答案 0 :(得分:2)
代码中有错误
你应该
@Override
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
if (result != null) {
String contents = result.getContents();
if (contents != null) {
showDialog(R.string.result_succeeded, result.toString());
} else {
showDialog(R.string.result_failed, getString(R.string.result_failed_why));
}
}
}
您并未覆盖onActivityResult
或onCreate
onStart
相反,你正在写onActivityResult,就像普通方法一样,这是最常见的错误。
另外,如果您可以提及integrator.initiateScan(IntentIntegrator.QR_CODE_TYPES);
或integrator.initiateScan(IntentIntegrator.PRODUCT_CODE_TYPES);
,那就太棒了。