【问题标题】:QR Code Scanner App works perfectly EXCEPT in NougatQR码扫描仪应用程序在牛轧糖中完美运行
【发布时间】:2019-04-26 02:20:02
【问题描述】:

自从我上次在这里提问以来已经有一段时间了。谷歌搜索、Stack-Overflowed 等 - 感觉没有其他人遇到过这个问题。

无论如何,我为客户创建了一个应用程序,该应用程序可以读取员工 ID 中的 QR 码以计时他们进出;一个扭曲的邦迪时钟。我对 Android 编程不是很好,但我对一般编程很擅长;我的背景是 Visual Basic 和 Java。我在相机上使用了谷歌的 Vision API,它工作得很好。我使用 API-17,因为我拥有的唯一可用于测试的平板电脑在 Jelly Bean 上运行。

所以,我的客户为该应用购买了一台平板电脑,它在 Nougat 7.0 上运行。出于某种原因,SurfaceView 只是坐在那里。它可以“看到”但它不读取二维码。我点击它自动对焦,甚至更改首选相机(我内置在我的代码中),但它仍然没有读取任何二维码。我在运行 Kitkat、Lollipop、Marshmallow、Oreo 甚至 Pie 的设备上安装了我的应用程序,除了运行 Nougat 的设备之外,它们都可以正常工作!不过,我还没有尝试使用 Nougat 将其安装在另一台设备上,我可能会在此发布后这样做 - 也许是设备本身?它是华为 Mediapad M3 Lite,运行在基于 Nougat 的自定义操作系统上,所以它也可能是这样。

但是,以防我遗漏了什么,也许这里有更多 Android 编程专业知识的人可以帮助解开这个谜团。

更新:我在 Nougat-7.1 设备上安装了我的应用程序并且它工作正常。我在 Mediapad M3 Lite 中重新安装了该应用程序,但仍然无法正常工作。我倾向于认为这个问题可能与 Nougat-7.0 或华为的自定义操作系统(EMUI 5.1.3)有关。

【问题讨论】:

    标签: android qr-code android-7.0-nougat


    【解决方案1】:

    好的,我想通了。它与自定义操作系统 - EMUI 有关。我在平板电脑上玩了一下,在“设置”的“高级”部分的某处找到了“附加权限”设置。我允许它运行“调试”应用程序并且它有效。奇怪的是,该应用程序确实运行了,但只是没有读取 QR 码。但是这个选项似乎已经修复了它并显示了一个新选项。

    我包含了它应该读取的代码的 REGEX 验证,如果 QR 码无效,则会引发错误。现在,它只读取任何二维码并跳过验证。我检查了安装该应用程序的所有其他设备,所有来自 Lollipop 及更高版本的 Android 设备都存在同样的问题——它们都跳过了验证。然而,Kitkat 和 Jelly Bean 完美地完成了验证。这个我应该可以通过一些研究自己弄清楚。

    对于那些阅读了我的帖子并且也感到困惑的人,我深表歉意。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-02
      • 2017-07-20
      • 1970-01-01
      • 2012-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多