Пожалуйста, укажите следующее: 1. Версия SDK: 37 2. Платформы (Android / iOS / Интернет / все): Android
Я использую версию Expo SDK: 37, с платформой Android, Я хотел бы спросить, есть ли способ информировать приложения о текущем местоположении пользователя, даже если пользователь не перемещается , я пытаюсь записывать местоположение пользователя в каждые 5 минут , он работает с Location.startLocationUpdatesAsyn c (см. Код ниже), но если пользователь не перемещается в течение длительного времени, например, когда он сидит, это не обновленное местоположение, как я записываю положение пользователя, хотя пользователь не перемещается, так как код ниже startLocationUpdatesAsyn c будет запускаться каждые 10 секунд, но если объект не перемещается, он не генерирует новые данные о местоположении (см. const {широта, долгота} = data.locations [0] .coords)
useEffect(() => {
async function startWatching() {
locationService.subscribe(onLocationUpdate)
try {
const { granted } = await Location.requestPermissionsAsync();
if (!granted) {
throw new Error('Location permission not granted');
}
let isRegistered = await TaskManager.isTaskRegisteredAsync('firstTask');
if (isRegistered) {
TaskManager.unregisterTaskAsync('firstTask')
}
await Location.startLocationUpdatesAsync('firstTask', {
accuracy: Location.Accuracy.BestForNavigation,
timeInterval: 10000,
activityType: Location.ActivityType.AutomotiveNavigation,
deferredUpdatesInterval: 15000
});
} catch (e) {
setErr(e);
}
};
startWatching()
}, []);
TaskManager.defineTask('firstTask', ({ data, error }) => {
if (error) {
// Error occurred - check `error.message` for more details.
return;
}
if (data) {
const { latitude, longitude } = data.locations[0].coords
locationService.setLocation({latitude, longitude})
// console.log('locations', locations);
}
});