iphone待机按钮

时间:2009-11-29 12:01:25

标签: iphone

当用户按下待机按钮时是否有事件?

我可以禁用“自动待机”(autolock) - 我这样做是因为我的应用程序是某种路由应用程序。

但待机按钮怎么样?

问题 - 如果iPhone进入待机状态,GPS将关闭。所以我的应用程序认为它有GPS问题。这实际上是错误的 - 它只是待机状态,这意味着应该像在“运行模式”(用户看到应用程序)时出现GPS问题时那样进行不同的处理。

我无法找到这种情况的事件(既不会待命也不会从中获取)

1 个答案:

答案 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];

//...
}