【问题标题】:how is it that CLLocationManager gets a location when Airplane Mode is ON飞行模式开启时 CLLocationManager 是如何获取位置的
【发布时间】:2011-09-11 04:25:10
【问题描述】:

我的应用使用 CLLocationManager 从设备获取位置更新。

我曾假设当设备处于飞行模式时,我不会获得位置更新。但是我愿意。

我认为这是因为 Apple 表示飞行模式会关闭 Wifi、蜂窝、蓝牙和 GPS。见:http://support.apple.com/kb/ht1355

那么,我是如何获得具有似乎合理坐标的位置更新的?

【问题讨论】:

    标签: iphone ios core-location cllocationmanager


    【解决方案1】:

    我开发了一个大量使用用户位置的应用程序,因此我必须检查这种情况和其他情况。

    我了解到,当所有服务(蓝牙、Wi-Fi、蜂窝数据)关闭时 CLLocationManager 返回最新的已知位置,因此,在这种情况下,即使设备处于飞行模式,它也会返回一个位置。

    您可以尝试获取您的位置,打开飞行模式,然后远离那里,再次询问位置。

    TL; DR: 它没有。它返回最新的已知位置。

    【讨论】:

    • 我认为你是对的,但这很奇怪,因为我认为纯 GPS 是纯被动的(即没有无线电传输),所以它在飞机上是犹太洁食。
    • @Daniel :即使是接收器也会发出一些无线电干扰(通常来自本地振荡器)。因此,FAA 全面禁令。以前可以向飞行员征求许可,但现在他们把他们锁起来了。
    • @Diego - 谢谢 - 这听起来很合理,我会测试一下。这是否记录在某处,或者您只是从经验中知道?
    • 有没有办法区分飞机坐标和驾驶?显然除了速度..
    【解决方案2】:

    您可以在飞行模式下手动重新打开 WiFi,如果您等待足够长的时间,可能会获得 GPS 定位,具体取决于 iDevice 型号。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-12
      • 1970-01-01
      • 1970-01-01
      • 2014-03-09
      • 2012-09-24
      • 2017-07-03
      相关资源
      最近更新 更多