何时调用 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 位置,使用不准确的网络位置(例如加载地图数据)对加速来说是有意义的。
我正在构建 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 位置,使用不准确的网络位置(例如加载地图数据)对加速来说是有意义的。