Не удается запустить фоновую службу в обычном китайском ПЗУ через 3 минуты для отправки широты и долготы - PullRequest
0 голосов
/ 30 октября 2019

Я пробовал планировщик заданий и менеджер работ, но он не работает в режиме ожидания и не работает регулярно. Я использовал обычный сервис, который не работает на некоторых китайских пользовательских телефонах, особенно oppo и vivo.

Я использовал Alarm Manager для запуска сервиса, но он также не работает ни с каким решением, не работающим на этом телефоне.

1 Ответ

1 голос
/ 30 октября 2019

Если вы действительно хотите, чтобы он работал на всех устройствах, я предлагаю вам такой подход:

  1. Настройка обмена сообщениями Firebase
  2. Подпишитесь на все устройства на определенную тему, например "UPDATE_LOCATION"
  3. Расширить FirebaseMessagingService и внедрить onMessageReceive()
  4. Если ваше сообщение с данными содержит инструкцию по обновлению местоположения, вызовите метод для обновления местоположения из onMessageReceive()
  5. Инициируйте повторяющиеся сообщенияв тему «UPDATE_LOCATION» из Firebase (задание CRON или запланированные задачи)

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

Дополнительным плюсом является то, что вы можете контролировать средство обновления местоположения из своего бэкэнда (не для каждого устройства, которое зависит от обновления приложения).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...