gpt4 book ai didi

android - 如何在不安装条码扫描器应用程序的情况下集成 Zxing?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:22:27 24 4
gpt4 key购买 nike

我将 Zying android 应用程序作为库添加到我的应用程序中。然后编辑 Manifest.xml 并尝试使用 Intent integrator。运气不好。

下载扫描仪应用程序是完全不合理的。

顺便说一句:

Intent scanIntent = new Intent("com.google.zxing.client.android.SCAN");
scanIntent.setPackage("com.google.zxing.client.android");

11-11 15:15:27.793: WARN/System.err(15384): android.content.ActivityNotFoundException: No
Activity found to handle Intent { act=com.google.zxing.client.android.SCAN
cat=[android.intent.category.DEFAULT] pkg=com.google.zxing.client.android (has extras) }

最佳答案

您正在尝试以两种直接冲突的方式访问 ZXing 扫描仪。 ZXing 提供的 IntentIntegrator 的目的是通过使用所有适当的常量和标志为您构建 Intent 来简化访问外部扫描仪应用程序。 如果您不想在设备上安装和运行来自 Android Market 的外部扫描仪应用程序,IntentIntegrator 不适合您。您发布的 Java 代码也是如此,因为它本质上与集成商为启动外部应用程序而创建的 Intent 相同。

如果您将 ZXing 作为一个库集成到您的项目中,那么这些组件将成为您应用程序的一部分,并且必须这样引用它们。例如需要在AndroidManifest.xml中添加声明如:

<activity android:name="com.google.zxing.client.android.CaptureActivity"
android:screenOrientation="landscape"
android:configChanges="orientation|keyboardHidden"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:windowSoftInputMode="stateAlwaysHidden">
<intent-filter>
<action android:name="com.google.zxing.client.android.SCAN"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>

确保您在此处为 Activity 和操作使用了正确的名称,因为它们必须引用库。然后,您可以使用以下代码从您的 Java 代码启动扫描器 Activity:

int REQUEST_SCAN; //Request code for Intent result
String packageString = "com.yourapplication.packagename";

Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.setPackage(packageString);
//Add any optional extras to pass
intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
//Launch
startActivityForResult(intent, REQUEST_SCAN);

请注意 Intent 操作与 list 中的声明匹配,但 PACKAGE 是此应用程序,而不是 Android Market ZXing 应用程序。

HTH

关于android - 如何在不安装条码扫描器应用程序的情况下集成 Zxing?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8095100/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com