当前位置: 首页 > 知识库问答 >
问题:

键盘锁,是设备锁定还是设备安全?

习宸
2023-03-14

我试图开发一个具有一些安全选项的应用程序,其中一个选项我需要知道设备是否被任何类型的密码(数字、模式等)锁定,所以我开始阅读android文档并找到了两个KeyguardManager方法,isDeivceLocked()和isDeviceSecured(),但是我在描述中并没有看到太多的区别,所以这两者之间的区别到底是什么?预先感谢

共有1个答案

濮阳振海
2023-03-14

官方API说明了区别,尽管它可能有点令人困惑。关键区别在于您是想知道设备的一般配置,还是其当前状态。

因此,如果设备当前被某种密码或识别机制锁定,则isDeviceLocked()返回true,这是解锁和使用设备所必需的。如果设备当前处于打开状态并正在使用中,或者打开它不需要任何密码/标识,则返回false。(参考和更多详情可在此处找到)

另一方面,如果设备已配置为使用任何类型的密码或识别机制,则 isDeviceSecure() 返回 true,即使当前不需要使用该设备。

如果您想知道什么情况可能导致isDeviceSecure返回true,而isDeviceLocked返回false:每当设备正在使用时(在已经输入锁定密码之后),都可能发生这种情况。另一种情况可能是设备配置了智能解锁(或受信任的设备),因此当前它不会要求密码或任何其他类型的标识来打开/解锁自己。

 类似资料:
  • 我在许多关于可重入锁的教程中看到,它们创建一个新的可重入锁并注入资源,可重入锁的锁定和解锁在try/finally块中调用。我不理解这个锁和线程中使用的资源之间的连接。下面是一个关于可重入锁的教程示例 资源代码 线程声明代码中使用的资源 有人能解释一下,这是如何防止多个线程同时访问给定的资源,从而导致争用情况的???这个可重入锁是在资源中创建对象级锁还是类级锁???

  • 在我的Rails 4应用程序中,我有一个对Postgres 9.4数据库的查询: 很受这个相关回答的启发dba.SE. 我只想让我的查询找到并更新第一行(随机地,用< code>LIMIT),其中< code>available = true并将其更新为< code>available = false,我需要在执行此操作的同时锁定该行,但不需要发出新的请求来等待前一个锁的释放,因为有许多并发调用将

  • 当尝试使用keycloak java api我得到这个错误: 这是生成错误的代码: 我理解这个错误,但我不明白为什么我收到这个错误,领域已启用UMA,我的客户端已正确配置。有人能帮我吗?

  • 问题内容: 在我的Rails 4应用程序中,我将查询查询到Postgres 9.4 数据库: dba.SE上的相关答案极大地启发了我们。 我只希望查询在其中找到并更新第一行(并将其随机更新为),然后将其更新为,而我需要在执行此操作时锁定该行,但无需发出新的请求来等待释放先前的锁,因为许多将使用此查询的 并发调用 。 但我也看到了选择。我不确定我是否理解使用和选项之间的区别,在我看来它们似乎可以实现

  • 我有一个情况,我们有一个使用网络视图的Android应用程序。当用户导航到YouTube视频时,它开始播放(带有音频),然后用户使用设备的硬件开关锁定设备,它会继续播放音频。 当应用程序使用设备菜单发送到后台或退出应用程序时,不会发生这种情况。 有人知道为什么会发生这种情况以及如何阻止它吗? 编辑:我刚刚在这里发现了一个类似的、未回答的帖子:应用程序支持视频的后台播放、科尔多瓦问题、谷歌播放拒绝应

  • 我能找到的关于和是由显示的: 最大的问题是:在复制/转储之前,这两个命令是否都会锁定数据库?备份是否一致? 这个答案有一些关于,但是有权威的留档吗?(那么呢?)我能在SQLite的留档中找到的唯一东西是“在线备份应用编程接口”,但我对应用编程接口不感兴趣,我只想备份数据库。