使用IntentIntegrator捕获QR码在Activity中不起作用

时间:2018-10-08 21:46:41

标签: android qr-code zxing

我正在使用IntentIntegrator来捕获FragmentActivity中的QR码。使用Fragment的{​​{1}}静态方法在forSupportFragment()中可以很好地工作。但是,在IntentIntegrator中使用IntentIntegrator的实例会在AppCompatActivity中返回-1的resultCodeonActivityResult()的{​​{1}}静态方法捕获的扫描结果始终返回null。 (下面的代码)
在访问了有关S / O的问题(OneTwoThree等)之后,我尝试了所有建议的解决方案:

  • 锁定清单中的屏幕方向
  • 检测清单中的配置更改
  • 定义库的包装类
  • 使用IntentIntegrator的parseActivityResult()方法锁定方向

他们都没有工作。

通过我认为是危险的选择,我能够从IntentResult中的setOrientationLocked()获取一个Bundle对象,并使用Intent.getExtras()检测返回的所有数据。可以从onActivityResult()中检索以下内容,但由于不确定其他类型,因此我仅对其中一个进行了keySet()测试:

  • SCAN_RESULT:具有QR的内容
  • SCAN_RESULT_BYTE_SEGMENTS_0
  • SCAN_RESULT_BYTES
  • SCAN_RESULT_FORMAT
  • SCAN_RESULT_ERROR_CORRECTION_LEVEL
  • SCAN_RESULT_IMAGE_PATH

我仍然认为这可能会导致应用程序在某些时候崩溃。任何其他建议的解决方案都欢迎。
代码:

Bundle

0 个答案:

没有答案