如何在Android 6.0中使用lockNow后保留指纹解锁



在Android 6.0中使用DevicePolicyManager执行lockNow()后,我们如何保持无缝指纹解锁效果?

假设在带有指纹扫描仪的设备上,调用lockNow()的应用程序具有";USES_POLICY_FORCE_LOCK";并且已被授予设备管理员状态。

这是lockNow()函数的文档:

public void lockNow()

立即锁定设备,就好像在调用时锁定屏幕超时已过期一样。

调用设备管理员必须已请求USES_POLICY_FORCE_LOCK才能调用此方法;如果没有,则会引发安全异常。

获得"设备管理员"状态并执行锁定即可。为了便于参考,请参阅我使用的方法的SO问题。

问题是手机锁定后,指纹扫描仪无法顺利解锁手机。相反,指纹扫描仪会提示我输入后备PIN码为了在执行lockNow()调用后保持指纹解锁效果,我在Android 6.0中有什么新的事情要做吗?

我已经查看了所有DevicePolicyManager标志(在文档中),它似乎提供了禁用功能,而不是启用功能。

谢谢!

看起来谷歌在没有任何适当解释的情况下将其标记为预期工作。

https://code.google.com/p/android/issues/detail?id=79735#c110

还有这里https://code.google.com/p/android/issues/detail?id=191955#c23

因此,我们目前无法在保持智能锁工作的同时以编程方式锁定屏幕。他们还说"开发人员使用错误"。不确定他们是在开玩笑还是认真的。

编辑:这里有些不令人满意的解释https://code.google.com/p/android/issues/detail?id=79735#c115

如本链接中所述:https://code.google.com/p/android/issues/detail?id=79735,这似乎是智能锁的问题,而不仅仅是谷歌指纹扫描仪的问题。

如果您可以依赖root权限,您可能可以使用:PowerManager.goToSleep(0);

到目前为止,如果没有root权限,似乎没有更好的解决方案。

相关内容

  • 没有找到相关文章

最新更新