前言
最近在做一個開發,有一個地方同步音樂文件,有時間會出現屏幕熄滅狀態,導致同步出現斷開,現在決定在同步時保持屏幕常亮,其實很多時候我們需要保持屏幕高亮,下面就來給大家介紹一個實現的方法,但是要記得在適當的時候關閉常亮
示例代碼
//設置屏幕常亮[UIApplication sharedApplication].idleTimerDisabled = YES;//取消設置屏幕常亮[UIApplication sharedApplication].idleTimerDisabled = NO; //設置屏幕常亮[[UIApplication sharedApplication] setIdleTimerDisabled:YES];//取消設置屏幕常亮[[UIApplication sharedApplication] setIdleTimerDisabled:NO];
但是有些控件的存在是不會鎖屏的,比如AVPlayer,播放的時候是不會鎖屏的,但是暫?;蛘咄V共シ胖笙到y會自動關閉常亮,正好與我們的設計沖突,所以我這里做了一個監聽,如果屏幕鎖屏被關,立馬把它打開,最后要記得移除監聽并且關閉鎖屏。
//監聽鎖屏變化[[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;}
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對武林網的支持。
新聞熱點
疑難解答