Подтвердить что ты не робот

Автоматически получать номер телефона в андроиде

Я использую код

TelephonyManager tMgr =(TelephonyManager)mAppContext.getSystemService(Context.TELEPHONY_SERVICE);
  mPhoneNumber = tMgr.getLine1Number();

чтобы телефон не запрограммирован в андроиде. Но это отлично работает только для одной сим-карты. Если я тестирую этот код, вставив другую сим-карту, он дает null. Я пытаюсь найти решение для этого. пожалуйста помогите. Я также включил READ_PHONE_STATE в Manifest.

Я хочу однозначно идентифицировать сим-карту. Есть ли другой способ сделать это. сообщите мне.

Спасибо заранее...

4b9b3361

Ответ 1

Я думаю, что серийный номер Sim уникален. Вы можете попробовать это.

TelephonyManager telemamanger = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String getSimSerialNumber = telemamanger.getSimSerialNumber();

Сообщите мне, есть ли какие-либо проблемы.

Ответ 2

Это известная проблема. Многие SIM-карты по всему миру вернутся к нулю. Вы должны скорее использовать номер IMEI, но даже тот, который может вернуть null.

TelephonyManager.getDeviceId()

Ответ 3

Ищите TelephonyManager.getSubscriberId(), это даст уникальный идентификатор для каждой SIM-карты.