从我的Android中的GPS硬件获得最高的GPS更新率

use*_*687 11 gps android rate

我从其他用于GPS的平台上编程Android.在其他平台上我可以访问GPS HW(我有一个低级别的GPS驱动程序),我可以每秒5次获得GPS更新甚至更多现在我使用三星Galaxy S2(我很清楚它的GPS非常强大,可以每秒提供多次更新目前,我设置GPS提供商以提供最小距离和最短时间的更新,如下所示:

mlocManager.requestLocationUpdates( 
    LocationManager.GPS_PROVIDER, 0, 0, mlocListener
); 
Run Code Online (Sandbox Code Playgroud)

我得到每秒1次更新(或两次更新之间的最小间隙为800ms),这对我的应用来说太低了.有没有办法迫使GPS硬件以某种方式报告更多更新?我想它不会暴露给用户但是仍然有某种方式以某种方式访问​​GPS HW的寄存器?

Jam*_*aaz 4

目前,大多数手机的更新速度不能超过每秒一次。这是硬件 GPS 限制。

通常在大多数手机中,频率为 1hz。

这完全取决于硬件和您使用的场景(室内、室外)

但同样,你可以检查使用

LocationRequest setFastestInterval (long millis)
Run Code Online (Sandbox Code Playgroud)

这允许您的应用程序以比主动获取位置更快的速度被动获取位置,从而节省电量。

与 setInterval(long) 不同,此参数是精确的。您的应用程序接收更新的速度永远不会快于该值。

此方法设置应用程序可以处理位置更新的最快速率(以毫秒为单位)。您需要设置此速率,因为其他应用程序也会影响发送更新的速率。位置服务以任何应用程序通过调用 LocationRequest.setInterval() 请求的最快速率发送更新。

如果此速率快于您的应用程序的处理能力,您可能会遇到 UI 闪烁或数据溢出的问题。

  • 您可以发布一个链接到您获取有关 GPS 硬件限制信息的资源吗? (2认同)