Snažím sa získať toto telefónne číslo takto:
private String getMyPhoneNumber(){
TelephonyManager mTelephonyMgr;
mTelephonyMgr = (TelephonyManager)
getSystemService(Context.TELEPHONY_SERVICE);
return mTelephonyMgr.getLine1Number();
ale dostanem null
ako to opraviť? a ako získať meno poskytovateľa
odpovede:
2 pre odpoveď č. 1Je to preto, že Niektorí dodávatelia neukladajú telefónne číslo na kartu SIM. Táto práca je v niektorých krajinách v poriadku.
Je lepšie požiadať používateľa o zadanie telefónneho čísla.
Na dokumentácia pre getLine1Number () hovorí, že táto metóda vráti hodnotu null, ak je číslo "nedostupné", ale nehovorí, kedy môže byť číslo nedostupné.
Ak chcete získať názov poskytovateľa
Pozrite sa android docs.
TelephonyManager manager = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE));
String carrierName = manager.getNetworkOperatorName();