如何在 android 中使用 "only" 设备 GPS 而不是 AGPS?

How to use "only" device GPS and not AGPS in android?

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

我假设使用以下权限

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

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

请指导我完成它,因为我对 GPS 和位置的工作不多,因此没有很好的经验。

Wikipedia...

Assisted GPS (abbreviated generally as A-GPS and less commonly as aGPS) is a system that often significantly improves startup performance—i.e., time-to-first-fix (TTFF), of a GPS satellite-based positioning system. A-GPS is extensively used with GPS-capable cellular phones, as its development was accelerated by the U.S. FCC's 911 requirement to make cell phone location data available to emergency call dispatchers.

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

此外,TTFF 越短越好。我希望您不会将此与 network/WiFi 派生位置混淆。参考 Location Strategies (note that there is no mention of A-GPS being used to determine the location!) and Android: location detection by Cellular Network and WiFi.

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

在我的 Pixel phone 运行 Android 8.0(测试版)上,我可以在“设置”>“安全与位置”>“位置”>“模式”中设置“位置模式”。

"Device only" 选项将使 phone 仅使用 GPS 来确定位置。

要完全禁用 A-GPS 功能,您需要从 /system/etc/gps.conf 中删除 XTRA 和 SUPL 设置。除非您的设备已获得 root 权限,否则将需要对 Android 进行自定义构建。