2016-03-21 8 views
0

Meine Android-Anwendung muss die Telefonnummer des Geräts abrufen. Ich verwende die Methode getLine1Number(), um es abzurufen, aber auf einigen Telefonen gibt es einen falschen Wert zurück.Android Mobile Identifikationsnummer (MIN)

Code:

TelephonyManager tMgr = (TelephonyManager)c.getSystemService(Context.TELEPHONY_SERVICE); 
String number = tMgr.getLine1Number(); 

Das Telefon einen falschen Wert ist ein Samsung Galaxy S6 mit Android 6.0.1 zurück. In den Telefoneinstellungen unter Telefonnummer wird derselbe falsche Wert angezeigt, unter MIN wird jedoch die korrekte Telefonnummer angezeigt.

Kann mir jemand irgendwelche Ideen oder Lösungen für dieses Problem geben? Ich habe keine Möglichkeit gefunden, den MIN-Wert von einem Android-Handy abzurufen. Ich habe auch nicht herausgefunden, warum dieses Telefon einen falschen Wert zurückgibt.

+0

Zeigen Sie den Anwendungscode, wir wissen nicht, was Sie tun. – Halfstop

Antwort

1

Es gibt keine Funktion, um die Telefonnummer eines Geräts zu erhalten. Aufgrund der Art und Weise, wie manche Carrier SIMs einrichten, ist es eigentlich möglich, dass das Gerät selbst nicht weiß, um welche eigene Telefonnummer es sich handelt. Wenn Sie tatsächlich eine Telefonnummer benötigen, müssen Sie den Benutzer danach fragen. Wenn Sie eine eindeutige ID für das Telefon benötigen, sind andere Dinge wie ANDROID_ID besser geeignet (denken Sie daran, dass das Android-Gerät nicht einmal eine Telefonnummer hat - Tablets, Filme und TVs nicht).

+0

Danke, ich denke, ich muss eine Alternative finden – aguerra