как получить мой номер телефона в Android 2.2 - PullRequest
3 голосов
/ 23 ноября 2011

Я программирую приложения в Android 2.2.Я пытался получить свой номер телефона в Android, но не могу ... Как показано ниже, это мой код для получения номера телефона: (устройство для приложений - SamSung Galaxy Plus)

public static String getMyPhoneNumber(Context aContext){
    TelephonyManager mTelephonyMgr;
    mTelephonyMgr = (TelephonyManager) aContext
            .getSystemService(Context.TELEPHONY_SERVICE);
    return mTelephonyMgr.getLine1Number();
}

String phone = getMyPhoneNumber(getApplicationContext());// return "" in here

Я добавил"android.permission.READ_PHONE_STATE" в Androidmanifest.xml, но когда я запускаю приложения, телефон пуст, ...

Я не знаю почему, хотя я получаю "g etSimSerialNumber(), getSimOperatorName(),getSimOperator(), ..."ОК!

Метод" getLine1Number() "всегда возвращает" "значение.Если вы знаете это, пожалуйста, помогите мне!

Ответы [ 3 ]

1 голос
/ 23 ноября 2011

Убедитесь, что ваш номер виден в Settings->About phone->State->Phone number, если нет, вы, вероятно, не сможете его получить.

Он не будет отображать номер вашего телефона, пока не будет записан на вашей мобильной SIM-карте, поэтому попробуйтесмените SIM-карту, чтобы при смене SIM-карты на ней отображался номер телефона.

0 голосов
/ 19 декабря 2012

Если вы хотите получить номер телефона вашего мобильного телефона, на котором установлена ​​сим-карта, например + 92xxxxxx, + 42xxxxxxx, + 1xxxxxx этого типа, просто скопируйте этот код в свои приложения.

TelephonyManager phn_mngr = (TelephonyManager)getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE);
String PhnNo= phn_mngr.getLine1Number();
0 голосов
/ 23 ноября 2011

Попробуйте использовать getSubscriberId (), который является IMSI для телефона.

...