我已经成功集成了ZXing QR Scanner。我所做的是重复扫描一旦用户完成扫描1 QR码。我遇到的问题是,如果我用这种方法多次扫描QR码,ZXing的相机重装速度非常慢。有更好的方法吗?我正在考虑保存所有扫描,而不需要重新加载相机(关闭和打开)。
我只扫描我自己定制的QR码,所以我不需要处理其他格式。
扫描 Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
startActivityForResult(intent, 0);
检索public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == 0) {
if (resultCode == RESULT_OK) {
String contents = intent.getStringExtra("SCAN_RESULT");
String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
// Handle successful scan
//..
//Repeat scan for next QR code
Intent i = new Intent("com.google.zxing.client.android.SCAN");
i.putExtra("SCAN_MODE", "QR_CODE_MODE");
startActivityForResult(i, 0);
}
else {
// Handle cancel
//...
}
}
ZXing在重新加载任何东西时并不慢——这是相机驱动程序初始化相机所花费的时间。没有太多的办法。但是,如果你想,你可以不关闭相机,保持预览运行。
查看应用程序的批量扫描模式-它已经可以扫描而无需停止显示结果。