Получение обновлений местоположения чаще одного раза в секундуAndroid

Форум для тех, кто программирует под Android
Anonymous
Получение обновлений местоположения чаще одного раза в секунду

Сообщение Anonymous »

Я создал действие, которое используется для измерения ускорения или тормозов мотоцикла (или любого другого движущегося устройства).
По этой причине мне нужны обновления местоположения как минимум 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;
}
}

Я ожидаю, что getLastKnownLocation обновит позицию во времени (10 Гц).
Полный исходный код находится здесь: 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

Вернуться в «Android»