iOS 锁屏判断

应用程序的单例类对象中得到应用程序委托的对象

UIApplicationDelegate* myDelegate = [[UIApplication sharedApplication] delegate];

UIApplication 接收到所有的系统事件和生命周期事件时,都会把事件传递给UIApplicationDelegate进行处理,对于用户输入事件,则传递给相应的目标对象去处理。

- (void)applicationWillResignActive:(UIApplication *)application

通知委托应用程序将进入非活动状态,在此期间,应用程序不接收消息或事件。

这个方法在用户锁住屏幕时,也会调用。

与之相适应的是应用程序重新被用户打开时的委托 方法。另外常用的就是内存不足的系统警告,此时会调用应用程序委托类的applicationDidReceiveMemoryWarning()方法, 然后我们就可以试着释放一些内存了。

CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, updateEnabled, CFSTR("com.apple.iokit.hid.displayStatus"), NULL, CFNotificationSuspensionBehaviorDeliverImmediately);

// 1状态

CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, lockComplete, CFSTR("com.apple.springboard.lockcomplete"), NULL, CFNotificationSuspensionBehaviorDeliverImmediately);

// 2状态

CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, lockState, CFSTR("com.apple.springboard.lockstate"), NULL, CFNotificationSuspensionBehaviorDeliverImmediately);

static void updateEnabled(CFNotificationCenterRef center, void* observer, CFStringRef name, const void* object, CFDictionaryRef userInfo) {

uint64_t state;

int token;

notify_register_check("com.apple.iokit.hid.displayStatus", &token);

notify_get_state(token, &state);

notify_cancel(token);

NSLog(@"锁屏状态:%llu",state);

}

static void lockComplete(CFNotificationCenterRef center, void* observer, CFStringRef name, const void* object, CFDictionaryRef userInfo) {

uint64_t state;

int token;

notify_register_check("com.apple.springboard.lockcomplete", &token);

notify_get_state(token, &state);

notify_cancel(token);

NSLog(@"lockComplete状态:%llu",state);

}

static void lockState(CFNotificationCenterRef center, void* observer, CFStringRef name, const void* object, CFDictionaryRef userInfo) {

uint64_t state;

int token;

notify_register_check("com.apple.springboard.lockstate", &token);

notify_get_state(token, &state);

notify_cancel(token);

NSLog(@"lockState状态:%llu",state);

}

时间: 2024-08-05 09:43:12

iOS 锁屏判断的相关文章

//四舍五入//得到倒序//比较字符串//拦截时间,实现超时锁屏//判断是否越狱//配置PodFile//Storyboard中跳转操作//处理不可逆的push界面操作

//处理不可逆的push界面操作 VerifyRealNameViewController *verifyRealNameCtrl = [VerifyRealNameViewController viewControllerWithStoryBoard:@"Registe" identify:@"VerifyRealNameViewController"]; UIViewController *topCtrl = [self.navigationController

iOS音频的后台播放总结(后台网络请求歌曲,Remote控制,锁屏封面,各种打断)

iOS音频的后台播放总结(后台网络请求歌曲,Remote控制,锁屏封面,各种打断) 2013-12-11 21:13 1416人阅读 评论(0) 收藏 举报  分类: cocoa SDK(139)  目录(?)[+] 在没有网络的情况下,音频的后台播放比较简单,google一下可以搜到很多资料,但是如果每次歌曲的请求都是通过网络,就不成了,有时可以也扛不了几首,这里总结下实现方法,可以实现像电台一样的功能,后台播放,网络请求歌曲,Remote控制,锁屏有封面,电话和听歌打断处理等.   初始化A

在iOS上增加手势锁屏、解锁功能

在iOS上增加手势锁屏.解锁功能 在一些涉及个人隐私的场景下,尤其是当移动设备包含太多私密信息时,为用户的安全考虑是有必要的. 桌面版的QQ在很多年前就考虑到用户离开电脑后隐私泄露的危险,提供了“离开电脑自动锁定”或者“闲置锁定”等类似功能,具体我也忘了. 而在iPhone版的QQ上,也提供了手势锁的功能.如下图: 我在上一篇博文中简单提到如何根据手指移动画线条,而这里是进一步的版本,仍然只是粗糙原型: 具体的代码实现如下: [cpp]  //  //  ViewController.m  //

Android判断屏幕锁屏的方法总结

转载请注明:http://blog.csdn.net/heroxuetao/article/details/24639203 由于做一个项目,需要判断屏幕是否锁屏,发现网上方法很多,但是比较杂,现在进行总结一下: 总共有两类方法: 一.代码直接判定 二.接收广播 现在先说第一类方法(代码直接判定): 1.通过PowerManager的isScreenOn方法,代码如下: PowerManager pm = (PowerManager) context.getSystemService(Conte

防止 IOS 和 安卓 自动锁屏

Ios代码 在文件AppController中的 didFinishLaunchingWithOptions函数中加一行代码即可: [[UIApplication sharedApplication] setIdleTimerDisabled: YES]; 或者 [UIApplication sharedApplication].idleTimerDisabled = YES; 安卓代码 在主Activity的初始化方法中添加(即Cocos2dxActivity ) onCreate 函数下 t

阻止iOS设备锁屏

Ios代码 [[UIApplication sharedApplication] setIdleTimerDisabled: YES]; 或者 [UIApplication sharedApplication].idleTimerDisabled = YES; [[UIApplication sharedApplication] setIdleTimerDisabled: YES]; 或者 [UIApplication sharedApplication].idleTimerDisabled =

iPhone锁屏却锁不住个人信息,iOS安全性真的很高吗?

听说你iOS安全性高?网络安全通成员用实验来发现你的漏洞. 第一步 查看一下当前系统的版本号 第二步 给目标iphone手机拨打电话 第三步 选择信息,然后点击自定义 第四步 随意选择三个表情,注意一定要三个 第五步 长按home键唤醒siri并且告诉siri打开设置 第六步 给iphone手机锁屏,再打一次电话 第七步 同样点击信息选择自定义 第八步 可以观察到打开的信息界面和之前已经完全不同,现在已经可以通过下方的一些按钮来访问iphone手机的一些应用了 打开APPstore 访问相册 将

iScreenLocker 仿IOS苹果锁屏软件,太逼真了。

*软件介绍: iScreenLocker 是 Android 上处理系统通知的新途径,可以让您在锁屏时看到简洁.美观的新通知,并能直接打开它.如果您想看口袋里的手机有什么新通知,只需从口袋中取出,便会简洁明了地自动显示最新通知. *软件截图: *软件下载: 百度云附件:ios_notification.apk *其他: 软件运行4.2以上系统.

iOS开发--QQ音乐练习,后台播放和锁屏界面

一.设置后台播放 首先允许程序后台播放 代码实现 1 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 2 3 // 设置后台播放的代码,步骤 4 // 1.获取音频的会话 5 AVAudioSession *session = [AVAudioSession sharedInstance]; 6 // 2.设置后台播放类型