Holen Sie sich meine Telefonnummer in Android

Wie bekomme ich meine Telefonnummer in Android

Wenn ich benutze:

  • Soundpool spielt nur noch 5 Sek. Warum?
  • Horizontale Scroll-Ansicht: Ist es wirklich eine Lösung?
  • Android: Verwenden von SVG in res führt zu Fehler: "Der Dateiname muss mit .xml oder .png enden"
  • Android auf Netbeans 6.9.1: Paketname nicht gültig
  • So behandeln Sie die Bildschirmorientierungsänderungen, wenn eine asyntask mit android 4.x läuft
  • Wie bekomme ich die Uri eines Bildes auf der SDCARD gespeichert?
  • TelephonyManager tMgr =(TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE); String mPhoneNumber = tMgr.getLine1Number(); 

    Und benutze:

     <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 

    Rückgabe Null

    Warum?

  • MEDIA_TYPE_IMAGE wird nicht erkannt
  • Wie beschränke ich Sonderzeichen aus einem Android EditText-Feld?
  • Com.android.build.transform.api.TransformException mit android google play services
  • Was passiert mit JavaScript-Ausführung (Settimeout, etc.), wenn iPhone / Android schläft?
  • OnActivityResult gibt Nulldaten für eine Image Capture zurück
  • Liste Farbe wird schwarz beim Scrollen
  • 6 Solutions collect form web for “Holen Sie sich meine Telefonnummer in Android”

    Aus der Dokumentation :

    Gibt die Telefonnummernfolge für Zeile 1 zurück, z. B. das MSISDN für ein GSM-Telefon. Rückgabe Null, wenn es nicht verfügbar ist.

    Also hast du alles richtig gemacht, aber es ist keine Telefonnummer gespeichert.

    Wenn du null bekommst, kannst du etwas anzeigen, um den Benutzer dazu zu bringen, die Telefonnummer auf eigene Faust einzugeben.

    Wenn die Funktion, die Sie angerufen haben, null zurückgibt, bedeutet dies, dass Ihre Telefonnummer nicht in Ihrer Kontaktliste registriert ist.

    Wenn Sie statt der Telefonnummer nur eine eindeutige Nummer benötigen, können Sie die Seriennummer der SIM-Karte verwenden:

      TelephonyManager telemamanger = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); String getSimSerialNumber = telemamanger.getSimSerialNumber(); 

    Wie hier beantwortet

    Untercode verwenden:

     TelephonyManager tMgr = (TelephonyManager)mAppContext.getSystemService(Context.TELEPHONY_SERVICE); String mPhoneNumber = tMgr.getLine1Number(); 

    In AndroidManifest.xml geben Sie die folgende Berechtigung an:

      <uses-permission android:name="android.permission.READ_PHONE_STATE"/> 

    Aber denken Sie daran, dieser Code funktioniert nicht immer, da Handy-Nummer von der SIM-Karte und dem Netzbetreiber / Mobilfunkanbieter abhängig ist.

    Versuchen Sie auch im Telefon -> Einstellungen -> Über -> Telefon Identität , Wenn Sie in der Lage, die Nummer dort zu sehen, ist die Wahrscheinlichkeit, dass die Telefonnummer von oben Code höher ist. Wenn Sie nicht in der Lage sind, die Telefonnummer in den Einstellungen zu sehen, dann können Sie nicht über diesen Code zu bekommen!

    Vorgeschlagene Umgehung:

    1. Holen Sie sich die Telefonnummer des Benutzers als manuelle Eingabe vom Benutzer.
    2. Senden Sie einen Code an die Mobiltelefonnummer des Benutzers per SMS.
    3. Bitten Sie den Benutzer, den Code einzugeben, um die Telefonnummer zu bestätigen.
    4. Sichern Sie die Nummer in fremden Vorgaben.

    Machen Sie die oben genannten 4 Schritte als einmalige Aktivität während der App der ersten Start. Später, wann immer Telefonnummer erforderlich ist, verwenden Sie den Wert, der in der geteilten Vorliebe vorhanden ist.

     private String getMyPhoneNumber(){ TelephonyManager mTelephonyMgr; mTelephonyMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); return mTelephonyMgr.getLine1Number(); } private String getMy10DigitPhoneNumber(){ String s = getMyPhoneNumber(); return s.substring(2); } 

    Methode 1:

     TelephonyManager tMgr = (TelephonyManager)mAppContext.getSystemService(Context.TELEPHONY_SERVICE); String mPhoneNumber = tMgr.getLine1Number(); 

    Mit unterer Genehmigung

     <uses-permission android:name="android.permission.READ_PHONE_STATE"/> 

    Methode 2:

    Es gibt einen anderen Weg, den du in der Lage bist, deine Telefonnummer zu bekommen, habe ich das nicht auf mehreren Geräten getestet, aber über Code funktioniert nicht jedes Mal.

    Probieren Sie unten Code:

     String main_data[] = {"data1", "is_primary", "data3", "data2", "data1", "is_primary", "photo_uri", "mimetype"}; Object object = getContentResolver().query(Uri.withAppendedPath(android.provider.ContactsContract.Profile.CONTENT_URI, "data"), main_data, "mimetype=?", new String[]{"vnd.android.cursor.item/phone_v2"}, "is_primary DESC"); if (object != null) { do { if (!((Cursor) (object)).moveToNext()) break; String s1 = ((Cursor) (object)).getString(4); } while (true); ((Cursor) (object)).close(); } 

    Sie müssen diese beiden Berechtigungen hinzufügen.

     <uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.READ_PROFILE" /> 

    Hoffe das hilft, danke!

    Robi Code ist Arbeit für mich, nur setzen, wenn! Null so dass, wenn Telefonnummer null ist, kann der Benutzer die Telefonnummer von ihm / ihr selbst füllen.

     editTextPhoneNumber = (EditText) findViewById(R.id.editTextPhoneNumber); TelephonyManager tMgr; tMgr= (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); String mPhoneNumber = tMgr.getLine1Number(); if (mPhoneNumber != null){ editTextPhoneNumber.setText(mPhoneNumber); } 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.