我正在尝试使用Zxing通过我的应用读取自定义二维码。 我已将库添加到代码中。现在,我可以调用Zxing扫描意图,它启动相机,读取QR码。
但是我也想更改意图字符串,以防止与手机上安装的原始条形码扫描仪应用程序冲突。
所以我将清单文件中的意图过滤器更改为:
from:
<action android:name="com.google.zxing.client.android.SCAN"/>
to:
<action android:name="com.google.zxing.client.android.SCANX"/>
从我的活动中,我致电:
if (checkSelfPermission(Manifest.permission.CAMERA) == PackageManager.PERMISSION_DENIED) {
requestPermissions(new String[]{Manifest.permission.CAMERA}, 1);
} else {
Toast.makeText(ctx, "test1",Toast.LENGTH_LONG).show();
Intent intent = new Intent("com.google.zxing.client.android.SCANX");
intent.putExtra("SCAN_FORMATS", "QR_CODE_MODE");
startActivityForResult(intent, IntentIntegrator.REQUEST_CODE);
//startActivityForResult(intent, 0);
}
但是,它停留在结果页面上,并带有“通过电子邮件共享”,“通过短信共享”,“搜索”等选项。我不想看到此页面,我想直接将代码获取到结果。
如果我将意图字符串恢复回原来的状态:
<action android:name="com.google.zxing.client.android.SCAN"/>
有效。
但是我真的想防止冲突以及用户选择扫描应用程序的必要性。我该如何实现?
谢谢。