【问题标题】:Zxing - My app does not want to start the cameraZxing - 我的应用程序不想启动相机
【发布时间】:2012-12-04 15:53:45
【问题描述】:

首先我要自我介绍一下。我是一名来自奥地利的年轻学生,刚接触 Android 编程。我的项目是编写一个条形码扫描仪,如果你扫描一个产品,你会得到更多关于它的信息。

现在让我们开始解决真正的问题:

我已经完成了教程所说的一切,并且有效。 ZXING-Source Code 现在是我自己项目的库,当然也包含在内。

当我将 Android 项目导出为 FILENAME.APK 并将其复制到我的 SGS3 时,一切正常。 然后我在手机上安装 apk 并开始运行该应用程序。当我按下调用“onClick”方法的扫描条形码按钮时,它什么也不做。 Android 告诉我应用程序已停止。

我不知道我必须使用哪个功能。我应该使用 IntentIntegrator 方法还是 Intent 方法来扫描代码。 (我知道我不能在我的方法中同时使用这两种方法,将其粘贴在这里以显示您的问题)

    public void onClick(final View view)
 {
        IntentIntegrator integrator = new IntentIntegrator(this);
        integrator.initiateScan();

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

【问题讨论】:

  • 从崩溃时发布您的堆栈跟踪。 Intent 应该可以工作,我已经用了几十次了。把它贴在你的代码下面,我会帮忙
  • 堆栈跟踪是什么意思?我会为你上传我的项目
  • 首先,确保您已启用 LogCat:在 Eclipse 中,转到 Window-> Show View -> Other -> Android-> Logcat。然后,当您的应用显示“应用程序已停止”时,请检查错误日志并将其发布到此处(也就是说,如果 Selvins 的回答不能解决您的问题)
  • 如果我想测试我的 Android 应用程序,我将其导出为 apk 文件并在我自己的手机上运行。我可以在手机上启用 LogCat 以查看错误吗?
  • 嗯,首先,您绝对不必每次都导出它。您正在使用eclipse,对吗?您应该能够在调试模式下运行应用程序,而无需导出它。额外的好处是您也可以获得日志

标签: android android-intent zxing


【解决方案1】:

这种集成是由意图提供的,因此您必须安装以特定意图 (action=com.google.zxing.client.android.SCAN) 运行的应用程序,例如 Barcode Scanner

我很确定您的其他手机上没有此类应用,这就是您现在收到“未找到活动”异常的原因

编辑:关于 IntentIntegrator 和普通 Intent 之间的差异......好吧,除了 IntentIntegrator 之外没有差异,你可以很好地包装它

【讨论】:

  • 那么有没有将完整的条形码扫描仪(来自 Zxing)集成到我自己的应用程序中?编辑:谢谢快速回答
  • 是的,但我认为 IntentIntegrator 方式更好......如果您使用 IntentIntegrator 并且用户没有安装 BarcodeScaner,它应该要求用户去市场并获取这个应用程序......跨度>
  • 我知道 IntentIntegrator 会告诉用户安装原始条码扫描仪,但那是我不想要的。我希望整个条形码扫描仪都包含在我的应用程序中,并且不需要其他应用程序。
  • 士力架...你绝对应该早点提到这一点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-21
  • 2013-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-28
相关资源
最近更新 更多