美文网首页
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