即使我调用 stopUpdatingLocation 仍然显示位置管理器图标
Posted
技术标签:
【中文标题】即使我调用 stopUpdatingLocation 仍然显示位置管理器图标【英文标题】:Location manager icon still displayed even when I call stopUpdatingLocation 【发布时间】:2013-08-18 03:41:23 【问题描述】:即使我在位置管理器上调用了stopUpdatingLocation
,位置管理器图标仍然在我 iPhone 的右上角。怎么还没停?
【问题讨论】:
【参考方案1】:您的手机上的位置箭头在拨打stopUpdatingLocation
后仍然亮着的原因有多种。
一方面,您手机上的另一个应用当前可能正在使用您的位置信息。
另一种可能是您使用startMonitoringSignificantLocationChanges
方法启用了重大位置更改监控,但忘记使用stopMonitoringSignificantLocationChanges
方法关闭它。监视重大位置变化的应用程序将在状态栏中显示一个实心箭头,就像使用标准位置更新的应用程序一样。
当然,您也可能出于某种原因错误地调用stopUpdatingLocation
,而您实际上仍在从位置管理器获取位置更新。要检查是否发生这种情况,请在致电 stopUpdatingLocation
后等待几分钟,然后转到设置>隐私>定位服务并找到您的应用程序。如果您的应用旁边有一个实心紫色箭头,那么您的应用确实正在使用定位服务,并且在调用 stopUpdatingLocation
时很可能出现问题。但是,如果有一个实心灰色箭头,这仅表示您的应用最近使用了定位服务,并且您可能确实正确地停止了获取更新。检查您是否正确关闭位置更新的另一种方法是调用您的CLLocationManager
的location
属性并检查其timestamp
属性以确保它不是最近的。如果时间戳大于您调用stopUpdatingLocation
的时间戳,那么您就知道出了点问题。
【讨论】:
【参考方案2】:你在顶部看到的图标不是locationManager,是设备的定位服务。如果您在设置中停用不再出现。
【讨论】:
以上是关于即使我调用 stopUpdatingLocation 仍然显示位置管理器图标的主要内容,如果未能解决你的问题,请参考以下文章
即使我调用 stopUpdatingLocation 仍然显示位置管理器图标
为啥即使我不调用 get() 或 join(),这个 CompletableFuture 也能工作?