欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

iOS实现控制屏幕常亮不变暗的方法示例

程序员文章站 2023-12-18 10:22:16
前言 最近在做一个开发,有一个地方同步音乐文件,有时间会出现屏幕熄灭状态,导致同步出现断开,现在决定在同步时保持屏幕常亮,其实很多时候我们需要保持屏幕高亮,下面就来给大家...

前言

最近在做一个开发,有一个地方同步音乐文件,有时间会出现屏幕熄灭状态,导致同步出现断开,现在决定在同步时保持屏幕常亮,其实很多时候我们需要保持屏幕高亮,下面就来给大家介绍一个实现的方法,但是要记得在适当的时候关闭常亮

示例代码

//设置屏幕常亮
[uiapplication sharedapplication].idletimerdisabled = yes;
//取消设置屏幕常亮
[uiapplication sharedapplication].idletimerdisabled = no;
 
//设置屏幕常亮
[[uiapplication sharedapplication] setidletimerdisabled:yes];
//取消设置屏幕常亮
[[uiapplication sharedapplication] setidletimerdisabled: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;
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。

上一篇:

下一篇: