我正在构建GPS应用程序,我想重置GPS以加快修复速度。我正在使用此代码来执行此操作:
locationmanager.sendExtraCommand("gps", "force_xtra_injection", bundle);
locationmanager.sendExtraCommand("gps", "force_time_injection", bundle);
问题是我该什么时候打电话给它?我是否需要启用GPS和Internet连接才能调用此命令?或者网络连接就足够了?或者我可以在任何地方调用它,命令将尽快运行?
先谢谢
答案 0 :(得分:2)
这是正确的方法:
sendExtraCommand看起来像这样
LocationManager.sendExtraCommand (String provider, String command, Bundle extras)
文档here
用于provider
使用 - > LocationManager.GPS_PROVIDER
用于command
使用 - > "delete_aiding_data"
用于extras
使用 - > null
删除所有数据。提供者可以选择使用命令的结果填充附加组件。
返回
如果命令成功,则true
。
它实际上看起来如何:
locationManager.sendExtraCommand (LocationManager.GPS_PROVIDER, "delete_aiding_data", null)
您可以决定删除所有GPS数据或部分GPS数据。使用许多有用的逻辑检查示例代码 - > HERE
P.S。需要许可android.permission.ACCESS_LOCATION_EXTRA_COMMANDS
答案 1 :(得分:2)
你不需要那个 如果网络连接可用,当启用GPS时,您的设备会自动使用辅助GPS。如果未启用GSM网络或禁用漫游,则需要几秒钟才能下载"援助数据"来自卫星 所以忘了这一切。
加速时有意义的是,只要没有可用的GPS定位,就可以使用虚拟网络位置(例如加载地图数据)。