当用户按下待机按钮时是否有事件?
我可以禁用“自动待机”(autolock) - 我这样做是因为我的应用程序是某种路由应用程序。
但待机按钮怎么样?
问题 - 如果iPhone进入待机状态,GPS将关闭。所以我的应用程序认为它有GPS问题。这实际上是错误的 - 它只是待机状态,这意味着应该像在“运行模式”(用户看到应用程序)时出现GPS问题时那样进行不同的处理。
我无法找到这种情况的事件(既不会待命也不会从中获取)
答案 0 :(得分:2)
你必须听这两个通知:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appLostFocus:) name:UIApplicationWillResignActiveNotification object:[UIApplication sharedApplication]];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appGotFocus:) name:UIApplicationDidBecomeActiveNotification object:[UIApplication sharedApplication]];
并妥善处理它们:
- (void)appLostFocus:(NSNotification*)notification
{
NSLog(@"app lost focus");
}
- (void)appGotFocus:(NSNotification*)notification
{
NSLog(@"app got focus");
}
要禁用自动待机,只需在主应用代理中执行此操作:
- (void)applicationDidFinishLaunching:(UIApplication *)application {
[[UIApplication sharedApplication] setIdleTimerDisabled:YES];
//...
}