【问题标题】:How to use "only" device GPS and not AGPS in android?如何在 android 中使用“仅”设备 GPS 而不是 AGPS?
【发布时间】:2017-06-24 03:42:20
【问题描述】:

我有一定的要求,我需要仅使用设备 GPS 并且根本不使用 AGPS,即使设备上可用。

我假设使用以下权限

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

同时使用 AGPS 和设备 GPS 来确定位置。

请指导我完成它,因为我在 GPS 和定位方面没有太多工作,因此没有良好的经验。

【问题讨论】:

  • 请注意,A-GPS 与使用 Wi-Fi 接入点和蜂窝基站来估算位置不同。

标签: android location android-gps


【解决方案1】:

来自Wikipedia...

辅助 GPS(通常缩写为 A-GPS,不太常见的是 aGPS)是一个经常显着改善启动的系统 基于 GPS 卫星的性能——即首次定位时间 (TTFF) 定位系统。 A-GPS 广泛用于具有 GPS 功能的 手机,因为它的发展是由美国联邦通信委员会的加速 911 要求将手机位置数据提供给 紧急呼叫调度员。

尽管 A-GPS 可用于加快首次定位时间 (TTFF),但实际位置计算是使用传统 GPS 完成的。并不是说A-GPS是用来定位的,而是用来加速GPS定位计算的。

此外,最好有一个较短的 TTFF。我希望您不要将此与网络/WiFi 派生位置混淆。请参阅Location Strategies(请注意,没有提到使用 A-GPS 来确定位置!)和Android: location detection by Cellular Network and WiFi

据我所知,API 不能提供对 A-GPS 的太多控制(除了发送一些命令来清除/请求 A-GPS 数据),因此可能无法禁用 A-GPS。

【讨论】:

  • 嗯,你可能是对的,我被要求使用仅 GPS 来确定位置。要求可能是禁止网络(蜂窝网络和 WiFi)确定位置。感谢您指出这一点。
  • 就像我在答案中所说的那样,我认为这是不可行的;至少不是仅通过应用程序以编程方式进行。如果您在设备/操作系统中禁用网络访问,则可能。就像 Android 的工作方式......
【解决方案2】:

要完全禁用 A-GPS 功能,您需要从 /system/etc/gps.conf 中删除 XTRA 和 SUPL 设置。除非您的设备已植根,否则这样做需要自定义构建 Android。

【讨论】:

    【解决方案3】:

    在运行 Android 8.0(测试版)的 Pixel 手机上,我可以在设置 > 安全和位置 > 位置 > 模式中设置位置模式。

    “仅设备”选项将使手机仅使用 GPS 来确定位置。

    【讨论】:

    • 请注意,“仅设备”模式仍将使用 XTRA 和 SUPL(A-GPS 的组件)来减少首次定位时间并改善定位。如果您的应用程序不需要网络流量,或不向网络泄露位置数据,那么选择“仅设备”是不够的,因为它只会禁用将附近的 Wi-Fi 接入点和蜂窝站点发送到远程提供商以获得近似值位置。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-25
    • 1970-01-01
    • 2018-10-27
    相关资源
    最近更新 更多