Я написал приложение, которое отслеживает уровень моего сигнала через PhoneStateListener. Я хочу, чтобы это приложение запускалось во время загрузки и работало вечно.
Мне удалось это сделать следующим образом, но я хотел бы знать, может ли кто-нибудь порекомендовать лучший способ сделать это.
Я зарегистрировал BroadcastReceiver, который запускается после BOOT_COMPLETED.
В этом BOOT_COMPLETED BroadcastReceiver я запускаю службу.
Служба запускает мой PhoneStateListener.
В моем BOOT_COMPLETED BroadcastReceiver я также запускаю периодическую тревогу через AlarmManager.setInexactRepeating.
Всякий раз, когда срабатывает этот сигнал тревоги, он проверяет, работает ли моя служба. Если он не запущен, он перезапускает мою службу, которая, в свою очередь, перезапускает мой PhoneStateListener.
Кажется, все это работает для меня, но мне интересно, является ли это лучшим и наиболее эффективным способом обеспечения того, чтобы PhoneStateListener работал все время (или, по крайней мере, большую часть времени).
Возможно, есть лучший способ справиться с этим?
Заранее спасибо.