是否可以知道WillResignActive是将播放器移至后台还是打开控制/消息中心?
答案 0 :(得分:0)
如果您的应用已移至后台,则还会发送DidEnterBackground
消息。您可以在WillResignActive
之后的一小段延迟后查看是否已发送这两封邮件。
编辑:检查此代码
@interface HSAppDelegate ()
{
BOOL _enteredBackground;
}
@end
@implementation HSAppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSLog(@"%s", __PRETTY_FUNCTION__);
_enteredBackground = NO;
_window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
_window.rootViewController = [HSViewController new];
[_window makeKeyAndVisible];
return YES;
}
- (void)applicationWillResignActive:(UIApplication *)application
{
NSLog(@"%s", __PRETTY_FUNCTION__);
dispatch_async(dispatch_get_main_queue(), ^{
if (!_enteredBackground)
{
// Do whatever you want here.
}
else
{
// This won't get called until the app comes back to foreground.
}
});
}
- (void)applicationDidEnterBackground:(UIApplication *)application
{
NSLog(@"%s", __PRETTY_FUNCTION__);
_enteredBackground = YES;
}
- (void)applicationWillEnterForeground:(UIApplication *)application
{
NSLog(@"%s", __PRETTY_FUNCTION__);
_enteredBackground = NO;
}
- (void)applicationDidBecomeActive:(UIApplication *)application
{
NSLog(@"%s", __PRETTY_FUNCTION__);
}
@end