必须使用新接口,才能审核通过:

applicationProtectedDataWillBecomeUnavailable

applicationProtectedDataDidBecomeAvailable

以下内容已过时,请务必注意!

//监听锁屏事件

#define kNotificationLock CFSTR("com.apple.springboard.lockcomplete")

//监听屏幕状态变化事件

#define kNotificationChange CFSTR("com.apple.springboard.lockstate")

didFinishLaunchingWithOptions()中监听:

//监听锁屏事件

CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, screenLockStateChanged, kNotificationLock, NULL, CFNotificationSuspensionBehaviorDeliverImmediately);

//监听屏幕状态变化事件

CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, screenLockStateChanged, kNotificationChange, NULL, CFNotificationSuspensionBehaviorDeliverImmediately);

定义一个全局变量stateChaned,用来判断屏幕变化的状态

@property (nonatomic, assign)BOOL stateChanged;

定义AppDelegate的单例,以便在回调函数中调用stateChanged

//定义AppDelegate单例
+ (AppDelegate *)sharedDelegate{return (AppDelegate *)[UIApplication sharedApplication].delegate;}

实现通知回调函数:

static void screenLockStateChanged(CFNotificationCenterRef center,void* observer,CFStringRef name,const void* object,CFDictionaryRef userInfo){NSString* lockstate = (__bridge NSString*)name;if ([lockstate isEqualToString:(__bridge  NSString*)kNotificationLock]) {[AppDelegate sharedDelegate].stateChanged = YES;NSLog(@"锁屏");}else{if ([AppDelegate sharedDelegate].stateChanged) {[AppDelegate sharedDelegate].stateChanged = NO;}else{NSLog(@"解锁");}}}

iOS 监听锁屏/解锁事件相关推荐

  1. Android锁屏界面监听按键,Android 监听锁屏/开屏事件

    1. 两种方案 (1) 监听BroadcastReceiver (2)获取PowerManager事件 2.  BroadcastReceiver 2.1. 事件 总共有3个事件: Intent.AC ...

  2. android 强制锁屏代码,Android 监听锁屏、解锁、开屏 功能代码

    1.首先定义 ScreenListener package com.app.lib; import android.content.BroadcastReceiver; import android. ...

  3. android锁屏代码分析,Android 监听锁屏、解锁、开屏 功能代码

    1.首先定义 ScreenListener package com.app.lib; import android.content.BroadcastReceiver; import android. ...

  4. android 监听锁屏 权限,Android中监听锁屏变化和防止锁屏

    Android app中可能存在某些可视化耗时操作,需要防止锁屏. 一.监听锁屏 添加权限 首先来看如何监听锁屏,使用BroadcastReceivercaset来监听 1.锁屏监听 public c ...

  5. Android 监听锁屏、解锁、开屏 操作

    1.首先定义 ScreenListener  package com.app.lib; import android.content.BroadcastReceiver; import android ...

  6. Android监听锁屏键、Home键

    项目用到了,记录下,返回键什么的物理按键使用onKeyDown监听就可以了,但是锁屏键.Home键不可以,这里使用广播监听两者状态变化 IntentFilter片段: mFilter.addActio ...

  7. uni-app 监听截屏事件和截图(ios)

    uni-app 监听截屏事件和截图(ios):https://ext.dcloud.net.cn/plugin?id=1637

  8. ios监听静音键和音量键事件

    ios监听静音键和音量键事件 http://blog.csdn.net/slinloss/article/details/7870559 posted on 2016-03-31 11:01 苹果io ...

  9. 云闪付APP内嵌H5监听左上角X关闭事件

    最近在做云闪付蓝牙对接,遇到的一个问题. 需求 用户进入云闪付APP内嵌 H5页面调用接口连上蓝牙后,可能不想支付使用,或其他原因,随手关闭左上角X关闭浏览器,这时需要监听这个动作,断开蓝牙连接,不然 ...

  10. 【微信小程序系列:二】小程序常用功能:跳转地图、扫一扫、人脸识别、拍照、拨打电话、调整屏幕亮度、文字可复制、监听截屏...

    一.先言: (- ̄▽ ̄)-,hello,微信小程序系列第二篇,介绍下小程序里的前端常用功能api,可以快速copy使用~ 二.文字可复制: 小程序页面里的文字默认是没有长按复制功能的,需要套个标签来实 ...

最新文章

  1. java依赖注入上下文_【Java EE】--Contexts and Dependency Injection (上下文與依賴注入)04...
  2. React Native debug debugger
  3. Java程序编译和运行的过程
  4. 项目中要使用到动态规划该怎么应用,怎么说?
  5. JS代码实例:实现随机加载不同的CSS样式
  6. YouSwap将于5月10日15:00新增CATE流动性挖矿
  7. Linux 命令(81)—— chmod 命令
  8. 视频编解码(七):profilelevel简介、ffmpeg如何控制profilelevel、编码效率
  9. 毕业三五年,怎么拿到百万年薪?
  10. XML生成与解析(DOM、ElementTree)
  11. Atitit js nodejs 图像处理压缩缩放算法 attilax总结
  12. 服务器位置设置在哪,服务器位置设置在哪
  13. 百度热力图颜色说明_基于百度热力图的中国多中心城市分析|上海城市规划
  14. windows10未安装画图工具解决办法
  15. Sqlserver 高级篇 非聚集索引原理
  16. 胡理辉:风电王国里的流程管控人
  17. erp系统云端服务器,erp系统软件云服务器
  18. 伤害世界不显示服务器,伤害世界肿么开服务器
  19. 喜欢你,三个星期了!
  20. oracle 百分位数,Oracle分析函数PERCENTILE_CONT

热门文章

  1. tp3.2 分析打印查询语句sql
  2. angular-devextreme treeview 学习笔记
  3. SpringMVC之分析HandlerMethodArgumentResolver请求对应处理器方法参数的解析过程(一)
  4. 【批处理学习笔记】第二十二课:系统变量
  5. 从Oracle Database 角度来看浪潮天梭K1主机的操作系统选择
  6. 编写在浏览器中不弹出警告的ActiveX控件
  7. ubuntu不能更新包
  8. ASP.NET MVC - 使用Post, Redirect, Get (PRG)模式
  9. WML语言基础(WAP建站)六
  10. Python的类与对象