Android:如何重置和下载A-GPS数据?

时间:2013-01-27 15:06:42

标签: android gps

如何在Android应用程序中以编程方式重置和下载新的A-GPS数据?换句话说,“管理A-GPS状态”工具如何在GPS Status & Toolbox应用中运行?

2 个答案:

答案 0 :(得分:12)

您应该可以使用LocationManager.sendExtraCommand(String provider, String command, Bundle extras)。这将允许您删除全部或部分GPS数据,因此将重新下载。文档是here,但是从this code(对于GPS提供商)引用的参数快速概述:

对于provider,请使用LocationManager.GPS_PROVIDER

对于command,请使用"delete_aiding_data"

对于额外内容,如果您通过null,则会删除所有数据。如果您只想删除特定数据(例如只需要年历或位置),您可以使用this function中的标记作为捆绑包中的附加内容。

不要忘记将android.permission.ACCESS_LOCATION_EXTRA_COMMANDS添加到清单中的权限列表中!

答案 1 :(得分:4)

到目前为止,我的问题的最佳答案似乎是@Geobits的响应和Problems with sendExtraCommand and force_xtra_injection中讨论的XTRA注入代码的组合。基于此,我目前正在使用以下内容:

locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
locationManager.sendExtraCommand(LocationManager.GPS_PROVIDER,"delete_aiding_data", null);
Bundle bundle = new Bundle();
locationManager.sendExtraCommand("gps", "force_xtra_injection", bundle);
locationManager.sendExtraCommand("gps", "force_time_injection", bundle);

如果有人对如何改进这一点或如何确定清除和下载新GPS数据的最佳时间有其他想法,我会非常有兴趣听到。