我希望用户从已安装的应用程序中选择QR阅读器.这可以通过使用Intent.createChooser完成.使用QR阅读器拍照时,应将QR码发送回我的应用程序.到目前为止,我已经尝试过:
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
String title = (String) getResources().getText(R.string.chooser_title);
Intent chooser = Intent.createChooser(intent, title);
startActivityForResult(chooser, CUSTOM_REQUEST_QR_SCANNER);
扫描仪无法正常启动,仅显示示例QR码.我感觉到intent.setType(“ text / plain”)可能是错误的? QR阅读器是什么类型?或者我如何以这种方式正确启动QR阅读器?
QR应用程序完成后,我也有一个ActivityResult:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == CUSTOM_REQUEST_QR_SCANNER) {
Log.d(TAG, "QR activity complete");
//Successful scan
if (resultCode == RESULT_OK) {
解决方法:
更换
intent.setType("text/plain");
与
intent.setType("com.google.zxing.client.android.SCAN");