На данный момент я инициализирую слушателя (расширение PhoneStateListener
) из действия (в его onCreate()
методе).
private static boolean listening = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
//...
if (!listening) {
MyPhoneStateListener phoneListener = new MyPhoneStateListener(getApplicationContext());
TelephonyManager telephonyManager = (TelephonyManager) getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE);
telephonyManager.listen(phoneListener, PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
listening = true;
}
Однако я понял, что должен инициализировать этот прослушиватель, когда устройство также перезагружается, поэтому я также должен запустить его после завершения загрузки BroadcastReceiver
.
Как мне тогда избежать запуска двух экземпляров этого слушателя?
(Также мне было интересно, если активность не работает (приложение в фоновом режиме? Переключена активность?), Будет ли мой слушатель всегда работать?)