2014-05-12 5 views
0

Je souhaite obtenir le numéro de téléphone de la carte SIM.Impossible d'obtenir le numéro de téléphone

Mon fichier Manifest ..

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.ambre.bazarmada" 
    android:versionCode="1" 
    android:versionName="1.0" > 

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

    <uses-sdk 
     android:minSdkVersion="3" 
     android:targetSdkVersion="19" /> 

    <uses-permission android:name="android.permission.SEND_SMS" /> 
    .... 
    </application> 
</manifest> 

et mon code acivity pour obtenir le numéro de téléphone est aussi ..

public static String getPhoneNumber(Context ctxt) { 
     TelephonyManager phoneManager = (TelephonyManager) ctxt.getSystemService(Context.TELEPHONY_SERVICE); 
     String phoneNumber = phoneManager.getLine1Number(); 
     return phoneNumber; 
    } 

Le téléphone est Samsung Galaxy S2, le problème est que la fonction getPhoneNumber renvoie null. Alors qu'est-ce qui ne va pas dans mon code?

+0

867 5309. Blague à part, vérifiez si vous avez le droit autorisations pour saisir le nombre. – FunctionR

+0

[cochez ici] (http://stackoverflow.com/questions/18894080/get-my-phone-number-in-android) – Mani

+0

Qu'est-ce que c'est «867 5309»? – pheromix

Répondre

1

try this ..

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

private String getMy10DigitPhoneNumber(){ 
    String s = getMyPhoneNumber(); 
    return s.substring(2); 
} 
0

Je pense que le numéro de série et le numéro sim sim est unique. Vous pouvez essayer ceci pour obtenir le numéro de série sim et obtenir le numéro de sim et n'oubliez pas d'ajouter la permission dans le fichier manifeste.

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

Et ajoutez les autorisations ci-dessous dans votre fichier Androidmanifest.xml.

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

Faites-moi savoir s'il y a un problème.

0

S'il vous plaît vous assurer que vous avez la permission

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

et utilisez le code suivant

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

suivre https://developer.android.com/reference/android/telephony/TelephonyManager.html#getLine1Number%28%29 pour plus et Get my phone number in android

Questions connexes