美文网首页
iOS控制屏幕常亮

iOS控制屏幕常亮

作者: 巴赫海兹 | 来源:发表于2018-08-10 11:30 被阅读560次

//设置屏幕常亮

[UIApplication sharedApplication].idleTimerDisabled = YES;

//取消设置屏幕常亮

[UIApplication sharedApplication].idleTimerDisabled = NO;

但是有些控件的存在是不会锁屏的,比如AVPlayer,播放的时候是不会锁屏的,但是暂停或者停止播放之后系统会自动关闭常亮。

解决方法:

添加一个监听,如果屏幕锁屏被关,立马把它打开,最后移除监听并且关闭锁屏。

//监听锁屏变化

[[UIApplication sharedApplication] addObserver:self forKeyPath:@"idleTimerDisabled"options:NSKeyValueObservingOptionNew context:nil];

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void*)context{

 // setToast(@"值改变操作");

 if(![UIApplication sharedApplication].idleTimerDisabled) {

         [UIApplication sharedApplication].idleTimerDisabled = YES;

    }

}

- (void)dealloc{

 [[UIApplication sharedApplication] removeObserver:self forKeyPath:@"idleTimerDisabled"];

 [UIApplication sharedApplication].idleTimerDisabled = NO;

}

相关文章

网友评论

      本文标题:iOS控制屏幕常亮

      本文链接:https://www.haomeiwen.com/subject/kgfavftx.html