Правильный способ обновления статуса gnss gps в виджете - PullRequest
0 голосов
/ 30 мая 2019

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

1) Создайте GnssStatus.Callback "myGnssReceiver" -> ovveride onSatelliteStatusChanged(GnssStatus status) и вставьте в метод код, который обновит widget.

2) Создайте IntentService "myGpsService". В onCreate() я поставлю код для регистрации LocationManager.registerGnssStatusCallback в myGnssReceiver и установлю LocationManager.requestLocationUpdates каждые 2000 мс.

3) Создайте широковещательный приемник для ACTION_BOOT_COMPLETED, который в onReceive() запускает «myGpsService».

Это правильно? Service останется в живых? Виджет будет обновлен? После системного сна (выключение экрана, а не перезагрузка) служба будет еще жива?

...