You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Android中实现每秒至少10次的GPS位置更新?

摩托车(或其他行驶装置)加速/制动测量Activity开发说明

我开发了一个用于测量摩托车(或其他行驶装置)加速或制动情况的Activity,因此需要每秒至少10次的位置更新。

当前位置更新实现方案

1. 请求位置更新代码

m_locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 50, (float) 0.1, m_locationListener);

2. 定时器获取位置代码

public void createGpsTimer( int interval )
{
    if (m_gpsTimer!=null)
    {
        m_gpsTimer.cancel();
    }
    if( interval > 0 )
    {
        m_gpsInterval = interval;
        m_gpsTimer = new CountDownTimer(100000000, interval) {
            
            private Location m_lastKnown=null;
    
            @Override
            public void onTick(long millisUntilFinished) {
                Location newLocation = m_locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
                if (newLocation != null && (m_lastKnown==null || !m_lastKnown.equals(newLocation)))
                {
                    lockLocationChanged(newLocation);
                }
            }
        
            @Override
            public void onFinish() {
                m_gpsTimer.start();
            }
        }.start();
    }
    else
    {
        m_gpsTimer = null;
        m_gpsInterval = 0;
    }
}

我期望通过getLastKnownLocation实现10Hz的位置更新频率。

测试设备

  • Samsung S5 Mini(Android 6)
  • Samsung Galaxy Tab A8(Android 9)
  • Fairphone 3(Android 13)
  • Samsung Galaxy Tab S9(Android 14)

内容的提问来源于stack exchange,提问作者Martin Gäeckler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 03:52:34