#java #android #gps #location #fusedlocationproviderapi
#java #Android #gps #Расположение #fusedlocationproviderapi
Вопрос:
мы разработали программное обеспечение C.R.M., которое обеспечивает функцию отслеживания местоположения в фоновом режиме. для достижения этой функциональности я использовал службу переднего плана для Android OREO или более поздней версии Android.
мы пытаемся получить текущее местоположение пользователя, использующего LocationMangager
и подключенного onlocationchage
слушателя. мы успешно получаем данные в службе, а затем сохраняем эти данные в SQLite.
поворот заключается в том, что когда мы убиваем приложение или помещаем приложение в фоновый режим, служба работает нормально, но диспетчер местоположений не получает долготу и широту через некоторое время, может быть, 2-3 минуты. мы также проверили это. если служба работает в фоновом режиме или она отключается, но служба работает в фоновом режиме и печатает журнал в logcat. мы включили CounteDownTimer
печать входа в LogCat
систему. мы также пытались сохранить приложение открытым, а не убитым, даже в фоновом режиме. происходит то же самое, LocationManger через некоторое время не получал широту и долготу. приложение было запущено в нашем телефоне на главном экране.
вот что мы пробовали : —
- я пробовал поставщика GPS (через некоторое время не работает)
- я пробовал сетевого провайдера (через некоторое время не работает)
- я пробовал пассивного провайдера (через некоторое время не работает)
- я пробовал объединенное местоположение Google, но он даже не получает данные о местоположении.
- я ввел
WakeLock
службу, чтобы процессор не переходил в режим ожидания (пробовал частичную и полную блокировку пробуждения)
Примечание : —
- я требую местоположение для заданного интервала и для заданного расстояния. я пробовал в нашем офисе, а также за пределами офиса, но через некоторое время мы не получаем данные. я уверен, что данное расстояние покрывается.
заранее благодарю вас, и я не могу показать свой код причина в том, что наша компания не разрешает размещать код компании ни на одной платформе. извините…..
Ответ №1:
Вам нужно будет запустить службу на переднем плане. Как часть этого, вам нужно будет запросить разрешение в вашем манифесте, а также несколько других вещей. Недавно я последовал этому примеру, чтобы решить аналогичную проблему.