【问题标题】:android onLocationChanged set fastest frequencyandroid onLocationChanged 设置最快频率
【发布时间】:2015-09-10 09:31:28
【问题描述】:

我开发的应用程序需要尽快获取位置更新,并且只能从 GPS(而不是网络)获取。 我已要求尽可能频繁地获取位置更新:

private static final long MIN_DISTANCE_CHANGE_FOR_UPDATES = 0; 
 private static final long MIN_TIME_BW_UPDATES = 0; 
 locationManager.requestLocationUpdates(
                                    LocationManager.GPS_PROVIDER,
                                    MIN_TIME_BW_UPDATES,
                                    MIN_DISTANCE_CHANGE_FOR_UPDATES, this);

不幸的是,更新每 10 秒才一次,我需要使速度提高 30 倍(这是我算法的要求)。 有没有办法做到这一点?我想我需要在较低级别配置它(也许在本机代码中?)。也可能我不应该从 android API 读取位置,而是从另一个较低级别读取位置。问题是如何? 非常感谢您的建议

【问题讨论】:

  • 当然我已经实现了onLocationChanged。 10秒一次的更新频率来自onLocationChanged回调。

标签: android android-ndk gps location driver


【解决方案1】:

这是因为您使用的是 GPS_Provider。尝试使用 Network_Provider 可以更快地访问位置。

同时在你的程序中实现 onLocationChanged 方法,只要位置改变就会被调用。

【讨论】:

  • 感谢您的回答。我正在使用 GPS_Provider,因为它比网络更精确,更值得期待。网络提供商的输出可能不太一致。当然,我已经实现了 onLocationChanged。 10秒一次的更新频率来自onLocationChanged回调。
  • 所以问题还是一样的。如何提高 GPS_Provider 的频率?也许有一种方法可以不通过 onLocationChanged 获取位置更新?
  • 是的,我还测试了 google maps api(使用 fused locatiob 提供程序)。它让我每秒更新一次。我需要快 3 倍(((
【解决方案2】:

我注意到,如果我每次获得更快的更新而不是强制调用 updatelocation 时都重新启动基本的 GPS 定位应用程序活动。你能确认你是否有类似的行为。

【讨论】:

  • 您应该评论 OP 的问题,因为这还不是答案
猜你喜欢
  • 2011-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-30
  • 2014-06-13
  • 2023-03-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多