【问题标题】:android zxing integrationandroid zxing 集成
【发布时间】:2011-12-28 19:08:57
【问题描述】:

我正在尝试将 zxing 条码扫描器集成到我的应用程序中。我不想通过意图来做到这一点,因为我希望该应用程序成为一个多合一的解决方案。我了解它的局限性,但我真的没有这个选项

我已按照以下指南将代码作为库集成到我的项目中

http://damianflannery.wordpress.com/2011/06/13/integrate-zxing-barcode-scanner-into-your-android-app-natively-using-eclipse/

我收到以下 logcat 的 Null 异常错误。如果有人对 zxing 代码了解很多,可以给我任何很棒的指示。如果您需要更多背景信息,请告诉我

。我正在使用以下内容调用扫描仪

        Intent intent = new Intent("com.google.zxing.client.android.SCAN");
    intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
    startActivityForResult(intent, 0);



12-28 06:41:57.464: W/dalvikvm(4301): threadid=3: thread exiting with uncaught exception (group=0x2aaca450)
12-28 06:41:57.464: E/AndroidRuntime(4301): Uncaught handler: thread main exiting due to uncaught exception
12-28 06:41:57.504: E/AndroidRuntime(4301): java.lang.RuntimeException: Unable to resume activity {com.discovery_scan.app/com.google.zxing.client.android.CaptureActivity}: java.lang.NullPointerException
12-28 06:41:57.504: E/AndroidRuntime(4301):     at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2950)
12-28 06:41:57.504: E/AndroidRuntime(4301):     at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2965)
12-28 06:41:57.504: E/AndroidRuntime(4301):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2516)
12-28 06:41:57.504: E/AndroidRuntime(4301):     at android.app.ActivityThread.access$2200(ActivityThread.java:119)
12-28 06:41:57.504: E/AndroidRuntime(4301):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
12-28 06:41:57.504: E/AndroidRuntime(4301):     at android.os.Handler.dispatchMessage(Handler.java:99)
12-28 06:41:57.504: E/AndroidRuntime(4301):     at android.os.Looper.loop(Looper.java:123)
12-28 06:41:57.504: E/AndroidRuntime(4301):     at android.app.ActivityThread.main(ActivityThread.java:4363)
12-28 06:41:57.504: E/AndroidRuntime(4301):     at java.lang.reflect.Method.invokeNative(Native Method)
12-28 06:41:57.504: E/AndroidRuntime(4301):     at java.lang.reflect.Method.invoke(Method.java:521)
12-28 06:41:57.504: E/AndroidRuntime(4301):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:885)
12-28 06:41:57.504: E/AndroidRuntime(4301):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:643)
12-28 06:41:57.504: E/AndroidRuntime(4301):     at dalvik.system.NativeStart.main(Native Method)
12-28 06:41:57.504: E/AndroidRuntime(4301): Caused by: java.lang.NullPointerException
12-28 06:41:57.504: E/AndroidRuntime(4301):     at com.google.zxing.client.android.CaptureActivity.onResume(CaptureActivity.java:178)
12-28 06:41:57.504: E/AndroidRuntime(4301):     at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1149)
12-28 06:41:57.504: E/AndroidRuntime(4301):     at android.app.Activity.performResume(Activity.java:3763)
12-28 06:41:57.504: E/AndroidRuntime(4301):     at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2937)

【问题讨论】:

  • 你修改了zxing源码的任何部分吗?你用的是什么设备?条形码扫描仪的市场版本是否正常工作?在您测试自己的构建时,设备上是否安装了市场版本? (如果是这样,我会先尝试卸载它);
  • 嗨,不,我根本没有改变 zxing 代码。我已经在 2 台设备上尝试了我的项目(使用 zxing 库代码)并得到了同样的错误。
  • @user1096447 你找到解决方案得到同样的错误了吗?

标签: android zxing


【解决方案1】:

这里最大的困惑是你试图不使用 Intents,但是,你正在使用 Intents。是哪个?

我假设您实际上并不想使用 Intents。出现错误是因为您在不理解的情况下复制并粘贴了我们的代码。我确信这是因为 onResume() 方法引用了在您的布局副本中找不到的 UI 元素。

请不要这样复制我们的代码;事实上,我认为完整的副本侵犯了商标。如果您没有时间或没有意愿编写自己的扫描仪应用程序,请通过 Intent 进行集成。

http://code.google.com/p/zxing/wiki/ScanningViaIntent

【讨论】:

  • 嗨,对不起,我从来没有依赖过。我几周前才开始为 android 编码,所以我的天真恐怕我看过你的代码以通过“意图”执行此操作我使用你提供的代码在我的项目中创建了一个名为 IntentIntegrator 的新活动(仅更改包名称在顶部)但是我收到以下错误或行 public static IntentResult parseActivityResult(int requestCode, int resultCode, Intent intent) { 它说“IntentResult 无法解析为一种类型”我可能只是愚蠢但你呢知道这意味着什么吗?
  • 你需要来自 android-integration 的两个类
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-09-03
  • 1970-01-01
  • 2023-03-10
  • 1970-01-01
  • 1970-01-01
  • 2016-04-10
相关资源
最近更新 更多