我正在寻找一些解释这一切的信息。我有一个使用 GPS 的应用程序(在几部旧的 HTC Desire 手机和 Google Nexus 7 上进行了测试),我注意到 - 与其他一些应用程序一样 - GPS 位置更新可能会变得“缓慢”。似乎发生的情况是更新(1/秒 - 此应用程序需要良好的最新信息)通过 OK,但通常纬度/经度值不会改变(四处移动时)。有趣的是,alt 通常会这样做。
在阅读了 Stack Overflow 之后,我发现使用以下代码“重置 GPS”(使用权限 android.permission.ACCESS_LOCATION_EXTRA_COMMANDS):
Bundle extras = new Bundle();
extras.putBoolean("all", true);
locManager.sendExtraCommand("gps", "delete_aiding_data", extras);
似乎有帮助:位置有一个初始中断,然后真正的更新似乎更有用 - 直到它再次发生。
我还阅读了以下代码
Bundle bundle = new Bundle();
locManager.sendExtraCommand("gps", "force_xtra_injection", bundle);
locManager.sendExtraCommand("gps", "force_time_injection", bundle);
可用于更新 A-GPS 缓存信息以获得更快的锁定(短时间),但需要网络连接才能执行下载。我还没试过这个。
我遇到的问题是,我无法在任何地方找到关于这些命令是什么、它们做什么、何时应该使用和不应该使用它们、为什么这一切都会发生等等的详细信息。有一些,但这只是一点点轶事。
我真正追求的是被指向某个我可以阅读所有背景的地方。如果它看起来稍微长一点,我会非常高兴,前提是它不会随着时间的推移而退化。