[W przypadku, jeśli ktoś nadal potyka tu szukasz to wciąż istniejące odwieczne rozwiązanie]
AFAIK, TelephonyManager.getLine1Number() nie jest wiarygodna ze względu na różne ograniczenia z operatorami. Istnieje kilka hacków opartych na refleksji w języku Java, ale różni się w zależności od urządzenia, co czyni te hacki raczej bezużytecznymi [przynajmniej pod względem obsługiwanych modeli]
Ale istnieje uzasadniona zgodna z prawem logika, aby znaleźć numer, jeśli naprawdę potrzebujesz więc. Wyślij zapytanie do wszystkich SMS-ów przez dostawcę SMS-a i zdobądź numer "Do".
Dodatkowe korzyści z tej sztuczki: 1. można znaleźć wszystkie numery linii, jeśli istnieje wiele SIM w urządzeniu.
Minusy: 1. Będziesz potrzebować uprawnienia SMS_READ [przepraszam za to] 2. Otrzymasz wszystkie numery sim użyte w urządzeniu. ten problem można zminimalizować za pomocą pewnej logiki ograniczającej, np. ramy czasowe (SMS odbierane lub wysyłane tylko dzisiaj) itd. To byłoby interesujące usłyszeć od innych, o tym, jak poprawić tę sprawę.
jest taka sama jak jego pytanie .. –
zobaczyć mój Edit ... – Houcine
jego okey teraz, ale następnym razem najpierw przeczytać uważnie po czym pytanie dać odpowiedź w odpowiedni sposób –