如何判断设备屏幕何时锁定



无论如何,我可以知道用户是否已锁定屏幕吗?我有两个AVPlayer播放音乐,但我只希望其中一个能够在后台播放。如果我连接锁定屏幕来调用方法,我可以在 AVPlayer 在后台播放之前停止它。任何方向将不胜感激。

当设备被锁定时,调用 -(void)applicationWillResignActive后跟 -(void)applicationDidEnterBackground。

用第二种方法编写代码。

当屏幕被锁定时,将调用 applicationDidEnterBackground。你可以在那里做你的工作:)

所以我尝试了-(void)applicationWillResignActive和-(void)applicationDidEnterBackground的两个建议,它可能对你有用,但由于某种原因,当我锁定屏幕时,它甚至没有在控制台中触发我的NSLogs。但是,如果我使用NSNotifcationCenter,则会触发什么。

[[NSNotificationCenter defaultCenter] addObserver: self
                                         selector: @selector(handleEnteredBackground)
                                             name: UIApplicationDidEnterBackgroundNotification
                                           object: nil];

然后将我需要运行的代码放入选择器中。

-(void)handleEnteredBackground{
NSLog(@"This Shows inside the Console!");
}

我不知道这是否是处理事情的最佳方式,但它对我有用,并且可能适用于遇到相同问题的其他任何人,它是由当前运行iOS 7.0.4的iPhone上的锁定屏幕按钮和主页按钮触发的,这正是我所需要的。

最新更新