时间:2010-07-23 13:59:32

标签: iphone ios4 application-design multitasking

9 个答案:

答案 0 :(得分:6)

答案 1 :(得分:3)

答案 2 :(得分:2)

为什么不创建一个按钮,当他们到达目的地时可以按下按钮,这样可以设置一个标记“Arrived = YES”。

然后将其添加到应用程序,以便在按下主页按钮时调用它。

- (void)applicationWillResignActive:(UIApplication *)application {
    if (Arrived) {
       exit(0);
    }
}

当他们按下主页按钮时,这将有效地完全关闭应用程序,但前提是他们已经表明他们已经到达。否则它将处于后台模式。

答案 3 :(得分:1)

答案 4 :(得分:1)

如果用户正在驾驶和移动,他们将需要准确的信息,这是真的。这并不意味着您也不能使用startMonitoringSignificantLocationChanges,是吗?

换句话说,当您在可调整的时间内停止接收“重大更改”时,使用超时可以准确地停止监视(并为GPS硬件供电)。当你再次收到它们时,再次准确地开始监控。

答案 5 :(得分:0)

答案 6 :(得分:0)

我面前没有Xcode(工作中的PC),所以我无法查找你可以使用的任何方法,但我相信TomTom应用程序在后台运行时会进行某种监控,因为我记得它正要睡觉的警报通知。我记得这发生在5-10分钟后。

答案 7 :(得分:0)

是否可以在应用内关闭GPS监控?您是否可以添加一个按钮来关闭它而不是退出整个应用程序?即。就像TomTom应用程序中提到的那样,让应用程序进入休眠状态。

如果是这样,您可能希望以某种方式更改UI,以便用户可以看到GPS活动未运行,因此应用程序不具备完整功能。

答案 8 :(得分:0)

我有一个我在类似应用中使用的解决方案。我的导航栏中有一个“后台模式”按钮。用户点击它并通知他们当他们点击Home时他们将在后台运行。每当应用程序启动或重新激活时,再次点击Home将导致应用程序无法运行。

然后,当点击Home按钮时,我检查标志以查看是否必须进入后台模式。我只是通过禁用GPS来避免后台模式(当在UIbackgroundModes中设置位置时,会导致应用暂停)

有意义吗?