【发布时间】:2019-01-09 04:56:33
【问题描述】:
我有一个允许用户使用指纹验证登录的应用程序。该功能已经投入生产了几个月,但在最后一天,我开始看到许多这样的异常:
java.lang.SecurityException: Must have android.permission.USE_FINGERPRINT permission.: Neither user ##### nor current process has android.permission.USE_FINGERPRINT.
当我调用fingerprintManager.isHardwareDetected()检查设备是否支持指纹认证时发生崩溃。我在manifest中声明了USE_FINGERPRINT权限,所以不知道为什么系统会认为进程没有这个权限。这不应该是我必须在运行时检查的东西,因为USE_FINGERPRINT 是一个正常的权限。
这几个月来一直运行良好,当它昨天开始崩溃时,我们已经稳定发布了大约一个月。这个问题听起来几乎与FingerprintManager.isHardwareDetected() throwing java.lang.SecurityException? 相同。我只在 Oreo 设备上看到崩溃。
我目前的计划是抓住Security Exception 并继续进行,就好像设备没有硬件一样,但我担心这可能意味着如果这个问题仍然存在,没有人能够使用该功能进行登录。有没有其他人最近遇到过这个例外的问题?或者,如果没有,是否有人知道为什么会突然像这样开始发生这种情况?感谢您的帮助!
【问题讨论】:
标签: android android-permissions android-8.0-oreo android-fingerprint-api android-8.1-oreo