Programmgesteuert abrufen, die Telefonnummer des Android-Handy
Wie kann ich programmgesteuert erhalten Sie die Telefonnummer des Geräts, laufen meine android-app?
dies ist nicht möglich, es sei denn Sie geben es selbst zu. Die Telefonnummer ist nicht weiß, durch das Handy oder der SIM-Karte, nur durch das Netz....
Nachdenken..., Wie apps wie Facebook auto-magisch überprüfen Sie Ihre Handy-Nummer..?
Nein, die meisten der Zeit, es fragt nicht einmal nach Ihrer Telefonnummer, oder, wenn es dann funktioniert, das Feld ist vorausgefüllt.
Gut, ich habe mich angemeldet für Facebook den anderen Tag, und er fragte nicht nach meiner Nummer, wenn Sie schrieben mir einen code. Versuchen Sie es. 😉
Tun Sie es auch, und ich wurde gebeten, meine Telefonnummer. So dies ist zu bestätigen, dass im Allgemeinen nicht zugänglich ist und einige Betreiber könnten hinzufügen, diese Informationen auf setup, aber dies ist nicht ein GMS-standard-feature
Nachdenken..., Wie apps wie Facebook auto-magisch überprüfen Sie Ihre Handy-Nummer..?
Nein, die meisten der Zeit, es fragt nicht einmal nach Ihrer Telefonnummer, oder, wenn es dann funktioniert, das Feld ist vorausgefüllt.
Gut, ich habe mich angemeldet für Facebook den anderen Tag, und er fragte nicht nach meiner Nummer, wenn Sie schrieben mir einen code. Versuchen Sie es. 😉
Tun Sie es auch, und ich wurde gebeten, meine Telefonnummer. So dies ist zu bestätigen, dass im Allgemeinen nicht zugänglich ist und einige Betreiber könnten hinzufügen, diese Informationen auf setup, aber dies ist nicht ein GMS-standard-feature
InformationsquelleAutor 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.null
. Das sagte, ich bin mir nicht bewusst, eine bessere Antwort.Daneben ist rechts. Wenn Sie die Absicht haben, etwas zu benutzen, die eindeutig Telefon, das ich benutzen würde getDeviceId() zurückgeben wird, IMEA für GSM.
(Ich denke du meinst die IMEI...?)
Gut, ich habe es getestet auf Nexus One mit Android OS 2.2 und es gibt null
Die Entwickler denken vielleicht, es ist die perfekte Antwort durch die Betrachtung der Stimmenauszählung. Ein Hinweis Hinzugefügt werden soll, warnen die Entwickler, dass diese Methode nicht geben Sie die Telefonnummer immer.
InformationsquelleAutor 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.
Kreative Lösung, aber möchten Sie vielleicht lassen Sie die Benutzer wissen, dass Sie es tun, nur für den Fall Sie geladen werden.
Gibt es beliebiger Anbieter, die Gebühren für das empfangen von einfachen Textnachrichten?!
Ja, absolut. Bevor ich Hinzugefügt SMS auf meinem plan, ich wurde angeklagt, $0.30 pro SMS. Rogers in Kanada.
InformationsquelleAutor 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 überTelephonyManager
Sie können ihm eine Chance geben.Erlaubnis:
Code:
Überprüfen
actype
für WhatsApp-KontoNatü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.
Diese Lösung ist veraltet, Whatsapp nicht speichern Sie die Telefonnummer auf der acount Namen nicht mehr, wissen Sie, wo whatsapp speichern der Telefonnummer, nach dem neuen update?
vielen Dank für die Aktualisierung von mir, ich werde prüfen, später und überqueren diese Antwort nach der Bestätigung, ich habe mittlerweile keine Ahnung, wo Sie speichern Sie die Nummer
Aber Viber die Nummer FREIZULEGEN, die! com.viber.voip.Konto
InformationsquelleAutor 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ät, Wenn 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.
wo soll ich verwenden "TelephonyManager" im code
InformationsquelleAutor Nishanthi Grashia
Code entnommen http://www.androidsnippets.com/get-my-phone-number
es ist nicht für mich arbeiten. Ich bekomme einen NULL-Wert (sunrise SIM-Karte, Schweiz)
Android snippets-link funktioniert nicht
dein link ist kaputt.
InformationsquelleAutor Emil Hajric
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 user_CC
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!
Wert
String s1
wird die Telefonnummer.Dieser code ist nicht für mich arbeiten. (Deinem letzten code-snippet). Gibt eine leere Zeichenkette.
Bitte erläutern Sie Ihre Antwort. Wo ist die Nummer gespeichert und wie funktioniert diese enthalten die Anzahl? Abhängig von was?
Ich denke, es ist der Zugriff auf die selbst Kontakt in der Kontakte-app
InformationsquelleAutor activesince93
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 Wirling
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:
Ich glaube, du bist auf etwas...
Hinweis-Anfrage zeigt, Telefonnummer, E-Mail-Konto verbunden ist mit dem Handy, es wird zeigen, bis das drop-down-auch wenn es keine sim-Karte in das Gerät.
InformationsquelleAutor Dmide
Dies ist eine vereinfachte Antwort:
InformationsquelleAutor E P Lewis
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.
ja also für diesen Zweck habe ich eine text-Nachricht, Wenn der Benutzer eine Zahl eingeben, so dass aus SmsManager der app-Nachricht selbst, und durch diese können wir verwenden smsReciever, um die ursprüngliche Zahl
Ich habe noch eine Frage.. mit dieser Methode wird es einen SMS-Auftrag vom Benutzer( Wenn es nicht eine gebührenfreie Nummer).. gibt es keine andere Methode, die, die ich bekommen kann-Telefon Nein der user?
Ja natürlich wird es einige kostenlos auf SMS wenn Sie die Anzahl nicht eine gebührenfreie Nummer.
NÖ, ich denke, es gibt keine solche Methode, ohne TelephonyManager bis jetzt. und ich habe das problem, TelephoneManager in meiner Antwort.
InformationsquelleAutor 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 ramkrishna kushwaha
Einen kleinen Beitrag. In meinem Fall, wird der code gestartet, eine error-Ausnahme ausgelöst. Ich habe benötigt, setzen Sie eine Anmerkung, für den der code ausgeführt werden und das problem beheben. Hier lass ich diesen code.
InformationsquelleAutor Ariel Alejandro Wagner
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.
Dies ist ein trick, der funktioniert nur mit ein paar Mobilfunkbetreiber in der Welt. Aber technisch könnte Abhilfe.
InformationsquelleAutor 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 Ray