Erhalte programmatisch die Telefonnummer des Android-Telefons
Wie kann ich programmgesteuert erhalten Sie die Telefonnummer des Geräts, laufen meine android-app?
InformationsquelleAutor der Frage jkap | 2010-03-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Code:
Erforderliche Berechtigung:
Vorsichtsmaßnahmen:
Nach dem hoch von Ihnen positiv bewertet werden, Kommentare, gibt es ein paar Vorsichtsmaßnahmen zu beachten. Dies kann zurück
null
oder""
oder sogar"???????"
und es zurückgeben kann, eine veraltete Telefonnummer ist nicht mehr gültig. Wenn Sie wollen etwas, das eindeutig identifiziert das Gerät, das Sie verwenden solltengetDeviceId()
statt.InformationsquelleAutor der Antwort Alex Volovoy
Gibt es keine garantierte Lösung für dieses problem, weil die Telefonnummer nicht physisch gespeichert sind, auf allen SIM-Karten, oder die Sendung aus dem Netz mit dem Telefon. Dies gilt besonders in einigen Ländern, die erfordert physische Prüfung der Adresse, mit der Nummernvergabe nur passiert danach. Telefonnummer Zuweisung geschieht über das Netzwerk - und können geändert werden, ohne Wechsel der SIM-Karte oder Gerät (z.B. dies ist, wie die Portierung wird nicht unterstützt).
Ich weiß, es ist Schmerz, aber wahrscheinlich die beste Lösung ist, einfach zu bitten die Benutzer, geben Sie seine/Ihre Telefonnummer einmal und speichern Sie es.
InformationsquelleAutor der Antwort Johan
Update: Diese Antwort ist nicht mehr verfügbar als Whatsapp hatte gestoppt und setzen die Telefonnummer als account-Namen, bitte ignorieren Sie diese Antwort.
Gibt es eigentlich eine alternative Lösung, die Sie berücksichtigen sollten, wenn Sie nicht bekommen kann es durch Telefonie-Dienst.
Als heute, können Sie sich auf eine andere große Anwendung Whatsapp, mit AccountManager. Millionen Geräte haben, die diese Anwendung installiert haben und wenn Sie nicht bekommen kann die Telefonnummer via TelephonyManager, Sie geben diesem einen Schuss.
Erlaubnis:
Code:
Überprüfen actype für whatsapp-Konto
Natürlich können Sie nicht bekommen, wenn Benutzer nicht installieren, Whatsapp, aber es lohnt sich auf jeden Fall versuchen.
Und denken Sie daran, sollten Sie immer Fragen Sie den Benutzer nach einer Bestätigung.
InformationsquelleAutor der Antwort Chor Wai Chun
Als gebucht in meinem früher Antwort
Folgenden code verwenden :
In AndroidManifest.xml geben Sie die folgende Erlaubnis:
Aber denken Sie daran, dieser code funktioniert nicht immer, da die Handy-Nummer ist abhängig von der SIM-Karte und dem Netzbetreiber /Handy-carrier.
Versuchen Sie auch, die Prüfung in Telefon--> Einstellungen --> Über --> Telefon-IdentitätWenn Sie in der Lage sind, zum anzeigen der Zahl gibt es, die Wahrscheinlichkeit, die Telefonnummer aus oben genannten code höher ist. Wenn Sie nicht in der Lage, um die Telefonnummer anzuzeigen, die in die Einstellungen, dann werden Sie nicht in der Lage zu bekommen über diesen code!
Workaround:
Tun, die oben genannten 4 Schritte als eine Zeit der Aktivität, während die app zum ersten mal starten. Später, wenn Telefon-Nummer erforderlich ist, verwenden Sie den Wert zur Verfügung, die in gemeinsamen Vorliebe.
InformationsquelleAutor der Antwort Nishanthi Grashia
Code entnommen http://www.androidsnippets.com/get-my-phone-number
InformationsquelleAutor der Antwort Emil Hajric
Manchmal code unten zurück
null
oder leere Zeichenfolge.Unten mit freundlicher Genehmigung
Gibt es eine andere Weise werden Sie in der Lage, Ihre Telefon-Nummer habe ich noch nicht getestet auf mehreren Geräten, aber obige code funktioniert nicht jedes mal.
Versuchen folgenden code:
Müssen Sie diese beiden Berechtigungen.
Hoffe, das hilft,
Danke!
InformationsquelleAutor der Antwort activesince93
Möchte nur hinzufügen, ein bisschen hier, um die oben stehenden Erläuterungen in den obigen Antworten. Das spart Zeit für andere.
In meinem Fall diese Methode hat nicht wieder einer Handy-Nummer, wird eine leere Zeichenfolge zurückgegeben wurde. Es wurde durch den Fall hatte, dass ich portiert meine Nummer auf die neue sim-Karte. Also, wenn ich in die Einstellungen gehen>Über Telefon - >Status - >Meine Telefonnummer zeigt es mir "Unbekannt".
InformationsquelleAutor der Antwort user_CC
Dies ist eine vereinfachte Antwort:
InformationsquelleAutor der Antwort E P Lewis
Gibt es eine neue Android-api, die ermöglicht dem Benutzer, wählen Sie Ihre Telefonnummer, ohne die Notwendigkeit für eine Genehmigung. Werfen Sie einen Blick auf:
https://android-developers.googleblog.com/2017/10/effective-phone-number-verification.html
InformationsquelleAutor der Antwort Wirling
TelephonyManager ist nicht die richtige Lösung,Da in einigen Fällen die Nummer ist nicht gespeichert in der SIM-Karte, Aufgrund meiner Anregung,die Sie verwenden sollten Gemeinsame Vorliebe zum speichern der Benutzer-Telefonnummer ersten mal die Anwendung öffnen, und nach, dass die Zahl wird immer dann verwendet, wenn Sie müssen in der Anwendung.
InformationsquelleAutor der Antwort Naveed Ahmad
Zunächst alle Benutzer Handy-Nummer ist gegen die Ethischen Richtlinien, die es vorher möglich war, aber jetzt nach meiner recherche gibt es keine solide Lösung zur Verfügung, die über einen code ist es möglich, Handy-Nummer, aber keine Garantie, es wird funktionieren, nur in wenigen Gerät. Nach viel Forschung fand ich nur drei Lösung, aber Sie funktioniert nicht in alle Geräte.
Gibt es folgenden Grund, warum wir nicht bekommen.
1.Android-Gerät und die neue Sim-Karte nicht speichern Handy-Nummer, wenn die mobile-Nummer nicht im Gerät und auf der sim dann, wie es möglich ist, zu bekommen Nummer, wenn irgendeine alte sim-Karte mit Handynummer dann mit Telefonie-manager können wir die Anzahl andere Weise wird es wieder die "null" oder "" oder "??????"
Lesen Kontakt Erlaubnis in manifest.
InformationsquelleAutor der Antwort ramkrishna kushwaha
So, wie Sie verlangen eine Telefonnummer, über die Play Services API ohne die Erlaubnis und hacks. Quelle und Vollständiges Beispiel.
In deinem build.gradle (version 10.2.x und höher erforderlich):
In Ihrer Tätigkeit (der code ist stark vereinfacht):
Dies generiert ein Dialogfeld wie dieses:
InformationsquelleAutor der Antwort Dmide
Obwohl es möglich ist, mehrere voicemail-Konten, wenn Sie aus Ihrer eigenen Zahl, Carrier-route, die Sie an die voicemail. Also
TelephonyManager.getVoiceMailNumber()
oderTelephonyManager.getCompleteVoiceMailNumber()
je nach Geschmack, die Sie benötigen.Hoffe, das hilft.
InformationsquelleAutor der Antwort Jim
während der Arbeit auf eine Sicherheits-app, die benötigt wird, um die Telefonnummer, die so jemals mein Handy in die Hand bekommen, ich hatte, dies zu tun;
1. erhalten Boot abgeschlossen-und dann versuchen, immer Line1_Number aus dem telephonyManager die eine Zeichenfolge zurückgibt Ergebnis.
2. vergleichen Sie die Zeichenfolge Ergebnis mit meiner eigenen Handy-Nummer und wenn Sie nicht übereinstimmen oder string null zurück, dann
3. heimlich senden Sie eine SMS mit der Zeichenfolge Ergebnis plus ein besonderes Zeichen, an meine Büro-Nummer.
4. wenn der Sendevorgang fehlschlägt, einen Dienst zu starten und zu halten versuchen, nach jeder Stunde, bis die SMS verschickt pending intent gibt erfolgreicher.
Mit diesen Schritten konnte ich die Nummer der person, die mit mein Handy verloren.
es spielt keine Rolle, ob die person berechnet.
InformationsquelleAutor der Antwort Ray