próbuję uzyskać mój numer telefonu w ten sposób:
private String getMyPhoneNumber(){
TelephonyManager mTelephonyMgr;
mTelephonyMgr = (TelephonyManager)
getSystemService(Context.TELEPHONY_SERVICE);
return mTelephonyMgr.getLine1Number();
ale otrzymuję wartość null
jak to naprawić ? i jak uzyskać nazwę dostawcy
Odpowiedzi:
2 dla odpowiedzi № 1Dzieje się tak, ponieważ niektórzy dostawcy nie zapisują numeru telefonu na karcie SIM. Ta praca jest dobra w niektórych krajach.
Lepiej poprosić użytkownika o wprowadzenie numeru telefonu.
The dokumentacja dla getLine1Number () mówi, że ta metoda zwróci wartość null, jeśli liczba jest "niedostępna", ale nie mówi, kiedy liczba może być niedostępna.
Aby uzyskać nazwę dostawcy
Wyglądać dokumenty android.
TelephonyManager manager = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE));
String carrierName = manager.getNetworkOperatorName();