По этой причине мне нужны обновления местоположения как минимум 10 раз в секунду.
на самом деле я запрашиваю обновления с помощью
Код: Выделить всё
m_locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 50, (float) 0.1, m_locationListener);
Код: Выделить всё
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;
}
}
Полный исходный код находится здесь: https://github.com/mgaeckler1964/ TessTacho/tree/main
Я тестировал
Samsung S5 Mini с Android 6,
Samsung Galaxy Tab A8 с Android 9,
Fairphone 3 с Android 13 и
Samsung Galaxy Tab S9 с Android 14
Подробнее здесь: https://stackoverflow.com/questions/786 ... e-a-second
Мобильная версия