Автоматически получать номер телефона в андроиде
Я использую код
TelephonyManager tMgr =(TelephonyManager)mAppContext.getSystemService(Context.TELEPHONY_SERVICE);
mPhoneNumber = tMgr.getLine1Number();
чтобы телефон не запрограммирован в андроиде. Но это отлично работает только для одной сим-карты.
Если я тестирую этот код, вставив другую сим-карту, он дает null
. Я пытаюсь найти решение для этого. пожалуйста помогите. Я также включил READ_PHONE_STATE
в Manifest
.
Я хочу однозначно идентифицировать сим-карту. Есть ли другой способ сделать это. сообщите мне.
Спасибо заранее...
Ответы
Ответ 1
Я думаю, что серийный номер Sim уникален. Вы можете попробовать это.
TelephonyManager telemamanger = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String getSimSerialNumber = telemamanger.getSimSerialNumber();
Сообщите мне, есть ли какие-либо проблемы.
Ответ 2
Это известная проблема. Многие SIM-карты по всему миру вернутся к нулю. Вы должны скорее использовать номер IMEI, но даже тот, который может вернуть null.
TelephonyManager.getDeviceId()
Ответ 3
Ищите TelephonyManager.getSubscriberId(), это даст уникальный идентификатор для каждой SIM-карты.