2012-06-19 3 views
0

Я прочитал о PhoneStateListener и его обратном вызове onServiceStateChanged. Одним из возможных значений состояния службы является STATE_OUT_OF_SERVICE, который мне нужно обнаружить.Как определить состояние телефонной связи

Могу ли я получить информацию о состоянии телефона без создания экземпляра прослушивателя? В моем приложении мне не нужно своевременно сообщать о каждом изменении состояния телефона, но нужно только проверить, находится ли телефон в автономном режиме (из-за отсутствия радиосигнала) в определенный момент.

Что бы я хотел (pseudo) TelephonyManager.getServiceState() позвонить некогда, к сожалению, я не могу найти.

+1

проверить это: http://stackoverflow.com/questions/3123545/how-to-obtain-an-instance-of-servicestate кажется слушателем только путь –

+0

да, к сожалению, единственный способ: я только что проверил Это. Создавая экземпляр ServiceState через конструктор по умолчанию, отчеты getState() всегда одинаковы (плохие) в каждом случае. – lorenzoff

ответ

0

Используйте класс ServiceState, documented here.

Вызвать функцию getState(), которая возвращает текущее состояние телефона.

+1

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

+0

Спасибо, Орлими, но он не работает. Кажется, что getState() всегда возвращает STATE_OUT_OF_SERVICE – lorenzoff

+0

Поскольку вы только хотите найти наш о сетевом состоянии, почему бы не использовать NetworkInfo. – Orlymee

Смежные вопросы