何时调用 GPS 重置

When to call GPS reset

我正在构建 GPS 应用程序,我想重置 GPS 以更快地进行修复。我正在使用这段代码来做到这一点:

locationmanager.sendExtraCommand("gps", "force_xtra_injection", bundle);
locationmanager.sendExtraCommand("gps", "force_time_injection", bundle);

问题是我应该什么时候调用它?我需要打开 GPS 并连接互联网才能调用此命令吗?还是互联网连接就足够了?或者我可以在任何地方调用它并且命令会尽快运行?

感谢转发

这是正确的方法:

sendExtraCommand 看起来像这样

LocationManager.sendExtraCommand (String provider, String command, Bundle extras)

文档here

对于 provider 使用 -> LocationManager.GPS_PROVIDER

对于 command 使用 -> "delete_aiding_data"

for extras 使用 -> null 删除所有数据。提供者可以选择用命令的结果填充 extras Bundle。

Returns true 如果命令成功。

它的实际外观:

locationManager.sendExtraCommand (LocationManager.GPS_PROVIDER, "delete_aiding_data", null)

您可以决定删除全部或部分 GPS 数据。使用许多有用的逻辑检查示例代码 -> HERE

P.S。需要许可 android.permission.ACCESS_LOCATION_EXTRA_COMMANDS

你不需要那个。
启用 GPS 后,如果网络连接可用,您的设备会自动使用辅助 GPS。如果未启用 GSM 网络或禁用漫游,则需要几秒钟才能从卫星下载 "aid data"。
所以忘记这一切吧。

只要没有可用的 GPS 位置,使用不准确的网络位置(例如加载地图数据)对加速来说是有意义的。