自从我上次在这里提出问题以来已有一段时间。 Googled,Stack-Overflowed等-感觉没有人遇到这个问题。
无论如何,我为客户创建了一个应用程序,该程序从员工的ID中读取QR码以使他们进入或离开。弯曲的邦迪钟。我不太擅长Android编程,但总体而言我擅长编程。我的背景是Visual Basic和Java。我将Google的Vision API用于相机,并且效果很好。我使用API-17是因为我唯一可以测试的平板电脑可以在Jelly Bean上运行。
因此,我的客户购买了一款用于该应用程序的平板电脑,并在Nougat 7.0上运行。由于某种原因,SurfaceView只是坐在那里。它可以“看到”,但不读取QR码。我点击它进行自动对焦,甚至更改了首选摄像头(我内置在我的代码中),但它仍然无法读取任何QR码。我将我的应用安装在运行Kitkat,Lollipop,棉花糖,Oreo甚至Pie的设备上,除了运行Nougat的设备外,它们都可以正常工作!我没有尝试使用Nougat将其安装在另一台设备上,在发布之后我可能会这样做-也许是设备本身?它是华为Mediapad M3 Lite,可以在基于牛轧糖的自定义操作系统上运行,所以也可以是这样。
但是,以防万一我错过了一些东西,也许在这里有很多在Android编程上有很多专长的人可以帮助您弄清这个谜。
更新:我将我的应用程序安装在Nougat-7.1设备上,并且可以正常工作。我在Mediapad M3 Lite中重新安装了该应用程序,但仍然无法正常工作。我倾向于认为此问题可能与Nougat-7.0或华为的自定义操作系统(EMUI 5.1.3)有关。
答案 0 :(得分:0)
好的,我知道了。它与自定义操作系统EMUI有关。我在平板电脑上玩耍,并在“设置”的“高级”部分的某个地方找到了“其他权限”设置。我允许它运行“调试”应用程序,并且可以正常工作。奇怪的是,该应用程序确实已运行,但未读取QR码。但是此选项似乎已修复并显示了新的选项。
我对应读取的代码进行了REGEX验证,如果QR码无效,则会引发错误。现在,它仅读取任何QR码,并跳过验证。我检查了安装了该应用程序的所有其他设备,所有Lollipop及更高版本的Android都存在相同的问题-它们都跳过了验证。但是,Kitkat和Jelly Bean完美地完成了验证。我应该可以自己研究一下。
对于那些阅读我的帖子并感到困惑的人,我深表歉意。