iOS实现控制屏幕常亮不变暗的方法示例
前言
最近在做一个开发,有一个地方同步音乐文件,有时间会出现屏幕熄灭状态,导致同步出现断开,现在决定在同步时保持屏幕常亮,其实很多时候我们需要保持屏幕高亮,下面就来给大家介绍一个实现的方法,但是要记得在适当的时候关闭常亮
示例代码
//设置屏幕常亮 [UIApplicationsharedApplication].idleTimerDisabled=YES; //取消设置屏幕常亮 [UIApplicationsharedApplication].idleTimerDisabled=NO; //设置屏幕常亮 [[UIApplicationsharedApplication]setIdleTimerDisabled:YES]; //取消设置屏幕常亮 [[UIApplicationsharedApplication]setIdleTimerDisabled:NO];
但是有些控件的存在是不会锁屏的,比如AVPlayer,播放的时候是不会锁屏的,但是暂停或者停止播放之后系统会自动关闭常亮,正好与我们的设计冲突,所以我这里做了一个监听,如果屏幕锁屏被关,立马把它打开,最后要记得移除监听并且关闭锁屏。
//监听锁屏变化 [[UIApplicationsharedApplication]addObserver:selfforKeyPath:@"idleTimerDisabled"options:NSKeyValueObservingOptionNewcontext:nil]; -(void)observeValueForKeyPath:(NSString*)keyPathofObject:(id)objectchange:(NSDictionary*)changecontext:(void*)context{ //setToast(@"值改变操作"); if(![UIApplicationsharedApplication].idleTimerDisabled){ [UIApplicationsharedApplication].idleTimerDisabled=YES; } } -(void)dealloc{ [[UIApplicationsharedApplication]removeObserver:selfforKeyPath:@"idleTimerDisabled"]; [UIApplicationsharedApplication].idleTimerDisabled=NO; }
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对毛票票的支持。