Ако устройството, на което кандидатурата си работи, има под-GSM Derzhko, тя трябва да има СИМ-карта. Данните, които mozhe- те извлече от него с помощта на TelephonyManager обект - кода на държавата във формат ISO, име на оператор, MCC кодове (мобилен код на държавата) и MNC (мобилен код на мрежата). Тази информация е полезна, ако etsya ще изисква да предоставя специални възможности конкретен оператор.
Можете също така да намерите серийния номер на текущата СИМ-картата, ако добавите към манифеста на приложението ви власт READ_PHONE_ ДЪРЖАВНА.
Преди да започнете работа с тези методи, трябва да се превърне убедени, че е готов, че SIM-карта. Научете го, можете да използвате метод getSimState, както е показано на Обява 12.6.
Int simState = telephonyManager.getSimState ();
случай (TelephonyManager.SIM_STATE_ABSENT): прекъсване;
случай (TelephonyManager.SIM_STATE_NETWORK_LOCKED): прекъсване; случай (TelephonyManager.SIM_STATE_PIN_REQUIRED): прекъсване; случай (TelephonyManager.SIM_STATE_PUK_REQUIRED): прекъсване; случай (TelephonyManager.SIM_STATE_UNKNOWN): прекъсване;
// Премахнете кода на SIM-карта страна в ISO формат
String simCountry = telephonyManager.getSimCountryIso ();
// Получаване на кода за SIM-карта оператор активност (MCC + MNC) String simOperatorCode = telephonyManager.getSimOperator ();
// Премахване на името на оператора SIM-карта
String simOperatorName = telephonyManager.getSimOperatorName ();
// - Изисква пълномощията READ_PHONE_STATE -
// Получаване на серийния номер на SIM-карта
String simSerial = telephonyManager.getSimSerialNumber ();
в състояние да се свърже с мрежата,
Обявата 12.7. Рамковата PhoneStateListener изпълнение
PhoneStateListener phoneStateListener = нов PhoneStateListener ()
обществени невалидни onCallForwardingIndicatorChanged (булев CFI) <>
обществени невалидни onCallStateChanged (междинно състояние, String incomingNumber) <>
обществени невалидни onCellLocationChanged (местоположение CellLocation) <>
обществени невалидни onDataActivity (посока вътр) <>
обществени невалидни onDataConnectionStateChanged (междинно състояние) <>
обществени невалидни onMessageWaitingIndicatorChanged (булев MWI) <> обществени невалидни onServiceStateChanged (ServiceState serviceState) <> обществени невалидни onSignalStrengthChanged (инт АСУ) <>
Създаване на собствен обект клас PhoneStateListener, тя се регистрира в TelephonyManager, с помощта на малко маска за определяне на събитията, които искате да следите, както е показано на Обява 12.8.
Обявата 12.8. Регистрирайте PhoneStateListener
PhoneStateListener.LISTEN_CALL_STATE | PhoneStateListener.LISTEN_CELL_LOCATION | PhoneStateListener.LISTEN_DATA_ACTIVITY | PhoneStateListener.LISTEN_DATA_CONNECTION_STATE | PhoneStateListener.LISTEN_MESSAGE_WAITING_
За да отмените регистрацията, обадете метод Слушай, минаваща двупосочно квантовата поле PhoneStateListener.LISTEN_NONE като параметър, както е показано по-долу: