如何检测是不是启用了屏幕自动锁定

Posted

技术标签:

【中文标题】如何检测是不是启用了屏幕自动锁定【英文标题】:How to detect if screen auto lock is enabled如何检测是否启用了屏幕自动锁定 【发布时间】:2017-01-05 07:18:14 【问题描述】:

我想知道用户是否将自动锁定时间设置为与从未设置不同的时间。 我已经知道如何检查是否启用了密码,但我没有找到任何东西可以检查屏幕是否会自动锁定设备。

【问题讨论】:

我不确定是否有办法检查锁定时间的设置,但将UIApplication.shared.isIdleTimerDisabled 值更改为true 会阻止设备进入睡眠模式,即使没有进行用户交互也是如此。因此,通过控制此值,您将知道设备是否会进入睡眠模式。该文档可能有助于找到您要查找的内容isIdleTimerDisabled @Ayazmon:感谢您的评论。您可以使用UIApplication.shared.isIdleTimerDisabled 来避免锁定屏幕,但出于安全原因,我需要获取设置。因此,当用户将此设置设置为从不时,应用程序将不支持它并且将停止执行它通常会执行的操作... 【参考方案1】:

你可以想出各种奇怪而奇妙的方法来推断 ios 上非托管设备的安全配置。

这样一种愚蠢的方法是在用户第一次打开应用程序时显示两分钟的倒计时计时器,并礼貌地要求他们不要触摸屏幕或按钮。然后测试该应用程序是否在此期间被暂停/后台运行。当然,这不会告诉您用户是否在第一次启动课程后立即厚颜无耻地更改了他们的设置。

但最终,如果您的应用足够敏感,需要这种级别的安全管理,则它需要能够信任它所在的设备......并且可能不应该在非托管设备上运行。

【讨论】:

以上是关于如何检测是不是启用了屏幕自动锁定的主要内容,如果未能解决你的问题,请参考以下文章

如何在Android中锁定屏幕时长按电源按钮启用GPS?

如何在android中启用“在锁定屏幕中显示”权限

Mac使用技巧:移除Mac开机密码或屏幕锁定密码的方法

如何在 MPMoviePlayer 播放期间启用 iPhone 自动锁定?

在锁定屏幕中查看并启用RemoteNotificationTypes - iOS5

如何检测Android设备上启用的屏幕镜像