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

时间:2013-11-18 02:16:12

标签: ios objective-c locking screen avplayer

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

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

当设备被锁定时,会调用 - (void)applicationWillResignActive 接着是 - (void)applicationDidEnterBackground。

在第二种方法中编写代码。

答案 2 :(得分:0)

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

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

然后将我需要的代码放在选择器内。

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

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