169 похожих чатов

Вопрос к тем, кто сталкивался с темой фоновой геолокации на

Андроиде. Собрал приложение, которое должно отслеживать позицию даже в фоне. Дал в настройках ОС для приложения все возможные разрешения. В AndroidManifest.xml добавил <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
Но всё это не помогает.
Возниклам мысль, что так как я использую https://github.com/michalchudziak/react-native-geolocation, а это работает на уровне JS-движка, то возможно при убирании прилаги в фон, он приостанавливает своё выполнение (предположил, не уверен что так).
Прочитал что есть такая вещь https://github.com/transistorsoft/react-native-background-geolocation - типа нативный модуль для всего этого дела, однако это платно.
Суть вопроса - какие есть бесплатные решения для фоновой геолокации ?

8 ответов

28 просмотров

Открыть npm и там искать, вот например что-то есть https://github.com/mauron85/react-native-background-geolocation

Data Doom- Автор вопроса
Nikita Kovantsov
Открыть npm и там искать, вот например что-то есть...

Я пробовал разные пакеты, однако ни один из них на последней версии RN у меня так и не запустился

Data Doom
Я пробовал разные пакеты, однако ни один из них на...

А что за ошибки выдают? Может там в самих пакетах что-то поправить нужно

попробуйте посмотреть в сторону expo модулей, там есть модуль геолокации, который прекрасно работает https://docs.expo.dev/versions/latest/sdk/location/

Data Doom- Автор вопроса
Эдвард 🍓
попробуйте посмотреть в сторону expo модулей, там ...

благодарю, а expo-модули можно в bare-сборке использовать напрямую? Или нужны какие-то прослойки-хаки-костыли?

Data Doom- Автор вопроса

Делюсь решением своей проблемы по фоновой геолокации на Ведроиде. Спасибо @movpushmov за наводку. Библа https://docs.expo.dev/versions/latest/sdk/location/ из Экспо. В bare-варианте заводится по инструкции https://docs.expo.dev/bare/installing-expo-modules/ Рабочее решение для фоновой геолокации (здесь завязываемся на изменение координат) такое: import { useEffect } from 'react' import type { FC } from 'react' import * as Location from 'expo-location' import * as TaskManager from 'expo-task-manager' const App: FC = () => { // ... prev code useEffect(() => { (async () => { let { status } = await Location.requestForegroundPermissionsAsync() if (status !== 'granted') { console.error('Permission to access location was denied') return } TaskManager.defineTask('WATCH_BG_GEO', ({ data: { locations }, error }) => { if (error) return // // Your logic on change geolocation will be here // // Example - get lon and lat const newCoords = { lat: locations[0].coords.latitude, lon: locations[0].coords.longitude, } // Still works in background mode!! }) // Handler for changing geolocation Location.startLocationUpdatesAsync('WATCH_BG_GEO', { accuracy: Location.Accuracy.BestForNavigation, showsBackgroundLocationIndicator: true, timeInterval: 1000, activityType: Location.ActivityType.AutomotiveNavigation, distanceInterval: 1, foregroundService: { notificationTitle: 'GPS', notificationBody: ' enabled', } }) })() }, []) return ( // ... ) } export default App

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта