Не удается получить номер SIM-карты, когда я использую SIM-карту провайдера Airtel в Android?

Я работаю в своем приложении и выбираю номер телефона, используя метод:

TelephonyManager phoneManager = (TelephonyManager)appContext.getSystemService(Context.TELEPHONY_SERVICE);
        number = phoneManager.getLine1Number();

Он работает хорошо со всеми SIM-картами, но проблема с SIM-картой провайдера Airtel. Я получаю пустую, пытаясь с этой SIM-картой.

Я не знаю, почему Android API по-разному работает с разными провайдерами. Пожалуйста, предложите мне.

2 ответа

Решение

Это связано с тем, что оператор не указал номер MSISDN на SIM-карте. к сожалению, с этим ничего не поделаешь.

Нить с некоторым пониманием этого здесь

Вы должны использовать диспетчер телефонии, если вообще не нашли контакт, нет. пользователя; Вы можете получить серийный номер Sim-карты Sim-карты и Imei для Android-устройства, используя тот же класс Telephony Manager...

Добавить разрешение:

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

Импортировать:

import android.telephony.TelephonyManager;

Используйте код ниже:

 TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);

     // get IMEI
     imei = tm.getDeviceId();

     // get SimSerialNumber
     simSerialNumber = tm.getSimSerialNumber();
Другие вопросы по тегам