在用户不认为他们的电池会耗尽的情况下使用显着的位置变化
Posted
技术标签:
【中文标题】在用户不认为他们的电池会耗尽的情况下使用显着的位置变化【英文标题】:Use significant location change without users think their battery will drain 【发布时间】:2012-11-06 16:01:45 【问题描述】:我们的用户不断抱怨即使应用程序被终止,紫色箭头仍然出现,因此他们自动认为它正在耗尽他们的电池。
我们通过调用仅使用显着的位置变化
[locationManager startMonitoringSignificantLocationChanges];
因此,如果我们不停止重要的位置更改,紫色箭头会一直亮着(我们的用户认为他们的电池会耗尽)。
即使我们想在应用终止时停止重大的位置更改,我们也不能因为 applicationWillTerminate 很少被调用。
所以有3个选项:
-
保持原样 - 但用户不断抱怨,因为苹果没有区分使用常规电池消耗位置的应用程序和使用显着位置变化的应用程序。
使用常规的 [locationManager startUpdatingLocation],以便在应用程序终止时进行监控。这里的问题是,只要应用没有终止,它确实会消耗用户的电池。
打电话
(void)applicationDidEnterBackground:(UIApplication *)application
[locationManager stopMonitoringSignificantLocationChanges];
这里的问题是我们没有从背景中的位置变化中受益……
是否有任何其他建议可以让我们这样做:
-
只要应用是后台就可以监控位置(紫色箭头在这里是可以的)
当应用被杀死时停止位置监控(紫色箭头在这里不可以)
使用重大位置更改,以免耗尽用户的电池电量。
?
谢谢
【问题讨论】:
当您使用任何位置服务时,它应该是紫色的,这样应用程序就无法在用户不知情的情况下对其进行跟踪。不是在 GPS 开启时指示。这不是错误。 @progrmr 我曾建议我们将此描述为一个错误,但对您认为它不是的建议不屑一顾。我不知道“[如果]您让[重大更改]服务运行并且您的应用程序随后被暂停或终止,则该服务会在新的位置数据到达时自动唤醒您的应用程序。”这意味着终止的应用程序可以重新唤醒并跟踪我们,因此位置服务图标是合适的。我希望这两种服务之间有一些视觉上的区别,但可惜没有。更重要的是,我很抱歉对你的建议不屑一顾。你是对的。 【参考方案1】:也许你的解决方案都跑题了。
您声称您的用户遇到问题只是因为他们认为电池耗尽了。 您还声称您的用户想要在不消耗电池电量的情况下进行位置监控。您正试图通过围绕它进行工程来解决用户的认知误解。
相反,您为什么不向您的用户解释?
-
您可以弹出一个漂亮的模态视图控制器,告知他们在启用位置监控时获得的所有好处。
你可以解释一下对电池的误解。
您可以提供一个设置,让他们可以根据需要随时关闭它。
【讨论】:
以上是关于在用户不认为他们的电池会耗尽的情况下使用显着的位置变化的主要内容,如果未能解决你的问题,请参考以下文章
如何在不耗尽电池的情况下监控 MPMoviePlayerController 播放进度?
Google Fit 应用程序如何在不耗尽电池电量的情况下一直测量步数?