首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在不安装条形码扫描仪应用的情况下集成Zxing?

如何在不安装条形码扫描仪应用的情况下集成Zxing?
EN

Stack Overflow用户
提问于 2011-11-11 22:07:22
回答 3查看 15.1K关注 0票数 13

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

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

顺便说一下:

代码语言:javascript
运行
复制
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) }
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-11-11 22:11:46

对于您的问题,+1。我试过了,但没有成功,然后我在我的应用程序中添加了它的代码文件。如果你愿意,你也可以这样做。这里有一个链接:

http://code.google.com/p/zxing/source/browse/trunk#trunk%2Fandroid

如果你有更好的办法,请告诉我。

票数 3
EN

Stack Overflow用户

发布于 2011-11-11 22:49:16

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

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

代码语言:javascript
运行
复制
<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> 

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

代码语言:javascript
运行
复制
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);

请注意,意图操作与清单中的声明相匹配,但是包是这个应用程序,而不是Android Market ZXing应用程序。

HTH

票数 15
EN

Stack Overflow用户

发布于 2013-09-28 19:14:09

您需要按照链接给出的步骤进行操作

http://www.androidaz.com/development/zxing-qr-reader-direct-integration

您可以从下载core.jar

http://repo1.maven.org/maven2/com/google/zxing/core/2.2/

上面的方法对我很有效,如果你遇到错误,只需将core-2.2.jar放入库中并清理你的项目即可

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8095100

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档