GPS получает отключение в службе с помощью LocationManager

#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:

Вам нужно будет запустить службу на переднем плане. Как часть этого, вам нужно будет запросить разрешение в вашем манифесте, а также несколько других вещей. Недавно я последовал этому примеру, чтобы решить аналогичную проблему.