我编写了一个应用程序,通过 PhoneStateListener 监控我的信号强度。我希望这个应用程序在启动时启动并永远运行。
我管理它的方式如下,但我想知道是否有人可以推荐一种更好的方法。
我已经注册了一个在 BOOT_COMPLETED 上运行的 BroadcastReceiver。
在这个 BOOT_COMPLETED 广播接收器中,我启动了一个服务。
该服务启动了我的 PhoneStateListener。
在我的 BOOT_COMPLETED BroadcastReceiver 中,我还通过 AlarmManager.setInexactRepeating 启动定期警报。
每当此警报触发时,它都会检查我的服务是否正在运行。如果它没有运行,它会重新启动我的服务,进而重新启动我的 PhoneStateListener。
这一切似乎对我有用,但我想知道这是否是确保 PhoneStateListener 一直运行(或至少大部分时间)的最佳和最有效的方法。
有没有更好的方法来管理这个?
提前致谢。