首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从主屏幕检测密码锁定状态

从主屏幕检测密码锁定状态
EN

Stack Overflow用户
提问于 2016-06-26 05:51:01
回答 1查看 553关注 0票数 0

我想知道是否有任何方法(应该在Appstore上批准)来检测设备密码何时在主屏幕上被激活。

基本上,我的应用程序想知道这些电话事件:

  1. 设备屏幕打开/关闭
  2. 手机锁定/解锁(通过自动锁定设置/按下电源按钮)
  3. 密码激活(通过需要密码设置)

就我的研究而言,通过将Darwin Notification Centernotify_get_state与4个事件结合起来,我可以实现1&2:

代码语言:javascript
复制
 com.apple.springboard.lockstate
 com.apple.springboard.lockcomplete
 com.apple.springboard.hasBlankedScreen
 com.apple.iokit.hid.displayStatus

我遇到的问题是,这些事件只告诉我锁/解锁状态,而不是密码状态。意味着,如果您在5分钟后需要密码,您可以在前4分钟内不使用密码锁定/解锁电话。

我还知道有一种方法可以通过使用SBGetScreenLockStatus(port, &locked, &passcode)获得锁状态& passcode状态。但它使用的是私有框架,因此它将被苹果拒绝。

从这个主题(Programatically Checking if a Passcode Lock is Set),我得到只有当密码是设置在电话或不。

更新:我发现在密码生效时有一个名为back的事件。com.apple.mobile.keybagd.lock_status,但找不到任何关于它的文档。当我使用notify_get_state时,它不会改变值。

EN

回答 1

Stack Overflow用户

发布于 2016-06-28 15:08:56

我想你可以找到一些私人API来获得它。然而,最有可能的是,这些都不会得到苹果的批准。他们有可能会错过这个机会。然而,他们拒绝基于私有API使用的应用程序。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38035617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档