我有以下问题。 我试图制作一个锁定屏幕的应用程序。通过DevicePolicyManager的方法非常有效。到现在为止还挺好。但是当我使用DPM锁定手机时,指纹解锁方法正在禁用,我必须输入我的模式(或PIN或我设置的任何内容)来解锁手机。如果我以正常方式(即使用电源按钮)锁定指纹解锁工作。
所以我的问题是 如何以编程方式锁定屏幕,然后通过指纹解锁?
PS:我有一个带有棉花糖谱系的星系s5 mini答案 0 :(得分:5)
这是正常流程。设备将重新启动状态,设备将要求提供模式或密码。谷歌没有为此提供任何API。您可以在PlayStore中检查具有锁定功能的任何应用程序,如下所示。
编辑: 对于以下查询,您要求回复在此处共享
用户如何在不使用电源按钮(例如通过应用程序)的情况下锁定手机,仍然可以使用指纹解锁?
故意没有API可供应用程序调用以锁定设备。
这是否有安全理由/担忧?
是的,如果我们允许应用程序锁定设备,则会出现DOS(拒绝服务)问题。有意或无意(app bug)。
在此处找到[https://code.google.com/p/android/issues/detail?id=79735#c115]
我认为你需要搜索如何锁定应用程序快捷方式,而不是电源按钮。至少我可以帮助达到这个水平。
答案 1 :(得分:3)
注意顶点发射器或新星发射器如何绕过它。通过顶点发射器或新星发射器的屏幕锁定不禁用指纹扫描仪!
它实际上做的是它将屏幕设置为完全黑色即软锁(这会给用户留下关闭屏幕的错误印象),然后在5-10秒后显示实际上由于超时而关闭。
其他实现相同功能的应用OFF+ (Screen Off / Fingerprint unlock support)。(我猜它会修改"lock screen timeout")
如果手机是root用户,则可以执行shell命令来模拟电源键su input keyevent 26
,但可能会有一小段延迟。
好吧,如果有一些root用户在看,那么还有一个xposed模块可以解决这个问题FingerprintEnabler
答案 2 :(得分:1)
我想在JerryGoyal的优秀answer中添加一些观点。
以下是Microsoft Launcher的屏幕截图,其中显示了锁定屏幕的两种方法。它明确指出通过设备策略管理器的方法不适用于指纹。
通过显示黑屏直到屏幕超时来完成解决方法。
在下一个屏幕中,它要求修改系统设置以更改屏幕超时时间。
答案 3 :(得分:0)
来自https://issuetracker.google.com/issues/37010802#comment148(发布于2018年8月9日上午8:26):
Android 9最终为此添加了一个解决方案(或一种解决方法, 取决于您的看法)。新的AccessibilityService全局 添加了用于锁定设备[1],[2]的操作。新星发射器 已经有使用此服务操作的屏幕锁定方法 最新的测试版,它可以锁定设备并保持 指纹解锁和SmartLock正常工作。
令人遗憾的是,您应用的用户必须启用 您应用的无障碍服务。并具有任何可访问性 启用服务会中断Snackbar动画[3](不再在其中滑动 屏幕上,它就在那里显示而没有任何动画。
[1] https://developer.android.com/about/versions/pie/android-9.0#a11y-convenience-actions