iOS 监听锁屏/解锁事件
必须使用新接口,才能审核通过:
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 监听锁屏/解锁事件相关推荐
- Android锁屏界面监听按键,Android 监听锁屏/开屏事件
1. 两种方案 (1) 监听BroadcastReceiver (2)获取PowerManager事件 2. BroadcastReceiver 2.1. 事件 总共有3个事件: Intent.AC ...
- android 强制锁屏代码,Android 监听锁屏、解锁、开屏 功能代码
1.首先定义 ScreenListener package com.app.lib; import android.content.BroadcastReceiver; import android. ...
- android锁屏代码分析,Android 监听锁屏、解锁、开屏 功能代码
1.首先定义 ScreenListener package com.app.lib; import android.content.BroadcastReceiver; import android. ...
- android 监听锁屏 权限,Android中监听锁屏变化和防止锁屏
Android app中可能存在某些可视化耗时操作,需要防止锁屏. 一.监听锁屏 添加权限 首先来看如何监听锁屏,使用BroadcastReceivercaset来监听 1.锁屏监听 public c ...
- Android 监听锁屏、解锁、开屏 操作
1.首先定义 ScreenListener package com.app.lib; import android.content.BroadcastReceiver; import android ...
- Android监听锁屏键、Home键
项目用到了,记录下,返回键什么的物理按键使用onKeyDown监听就可以了,但是锁屏键.Home键不可以,这里使用广播监听两者状态变化 IntentFilter片段: mFilter.addActio ...
- uni-app 监听截屏事件和截图(ios)
uni-app 监听截屏事件和截图(ios):https://ext.dcloud.net.cn/plugin?id=1637
- ios监听静音键和音量键事件
ios监听静音键和音量键事件 http://blog.csdn.net/slinloss/article/details/7870559 posted on 2016-03-31 11:01 苹果io ...
- 云闪付APP内嵌H5监听左上角X关闭事件
最近在做云闪付蓝牙对接,遇到的一个问题. 需求 用户进入云闪付APP内嵌 H5页面调用接口连上蓝牙后,可能不想支付使用,或其他原因,随手关闭左上角X关闭浏览器,这时需要监听这个动作,断开蓝牙连接,不然 ...
- 【微信小程序系列:二】小程序常用功能:跳转地图、扫一扫、人脸识别、拍照、拨打电话、调整屏幕亮度、文字可复制、监听截屏...
一.先言: (- ̄▽ ̄)-,hello,微信小程序系列第二篇,介绍下小程序里的前端常用功能api,可以快速copy使用~ 二.文字可复制: 小程序页面里的文字默认是没有长按复制功能的,需要套个标签来实 ...
最新文章
- java依赖注入上下文_【Java EE】--Contexts and Dependency Injection (上下文與依賴注入)04...
- React Native debug debugger
- Java程序编译和运行的过程
- 项目中要使用到动态规划该怎么应用,怎么说?
- JS代码实例:实现随机加载不同的CSS样式
- YouSwap将于5月10日15:00新增CATE流动性挖矿
- Linux 命令(81)—— chmod 命令
- 视频编解码(七):profilelevel简介、ffmpeg如何控制profilelevel、编码效率
- 毕业三五年,怎么拿到百万年薪?
- XML生成与解析(DOM、ElementTree)
- Atitit js nodejs 图像处理压缩缩放算法 attilax总结
- 服务器位置设置在哪,服务器位置设置在哪
- 百度热力图颜色说明_基于百度热力图的中国多中心城市分析|上海城市规划
- windows10未安装画图工具解决办法
- Sqlserver 高级篇 非聚集索引原理
- 胡理辉:风电王国里的流程管控人
- erp系统云端服务器,erp系统软件云服务器
- 伤害世界不显示服务器,伤害世界肿么开服务器
- 喜欢你,三个星期了!
- oracle 百分位数,Oracle分析函数PERCENTILE_CONT
热门文章
- tp3.2 分析打印查询语句sql
- angular-devextreme treeview 学习笔记
- SpringMVC之分析HandlerMethodArgumentResolver请求对应处理器方法参数的解析过程(一)
- 【批处理学习笔记】第二十二课:系统变量
- 从Oracle Database 角度来看浪潮天梭K1主机的操作系统选择
- 编写在浏览器中不弹出警告的ActiveX控件
- ubuntu不能更新包
- ASP.NET MVC - 使用Post, Redirect, Get (PRG)模式
- WML语言基础(WAP建站)六
- Python的类与对象