Comment obtenir de l'actuel numéro de carte SIM sous Android?
Je veux savoir de l'utilisateur numéro de téléphone mobile en Android. J'ai utilisé ce code mais je n'arrive pas à me nombre.
TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
String n = tm.getLine1Number();
Autorisation:
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
Est-il obligatoire pour sauvegarder un numéro de mobile android settings --> about phone --> status --> myphone number
Toute idée de ce?
- Avez-vous des READ_PHONE_STATE autorisation?
- uses-permission android:name="android.la permission.READ_PHONE_STATE"/>
- Vous ne pouvez pas le faire.
- j'ai ajouté de l'autorisation
- dépendent de l'appareil. donc, assurez-vous que vous n'utilisez pas toute la dual sim ou Chinois appareil?
- C'est un problème courant.... certains appareils renvoie le nombre, et d'autres pas (soit qu'ils aient de l'application téléphone). Voici un bon algo qui peut être utile pour vous stackoverflow.com/questions/5134398/...
- double possible de pour obtenir le numéro de téléphone en programmant dans android
- Veuillez voir ma réponse, il permettra de résoudre votre problème.
Vous devez vous connecter pour publier un commentaire.
Je pense que sim Numéro de série et le numéro de la carte sim est unique. Vous pouvez essayer ce pour obtenir sim numéro de série et d'obtenir numéro de la carte sim et N'oubliez pas d'ajouter l'autorisation dans le fichier manifest.
Et ajouter en dessous de l'autorisation dans votre
Androidmanifest.xml
fichier.Laissez-moi savoir si il ya un problème.
Obtenir le Numéro de Téléphone, le numéro IMEI, et l'ID de la Carte SIM
Pour carte SIM, utilisez le getSimSerialNumber()
Numéro de téléphone de votre téléphone, utilisez le getLine1Number() (certains de ne pas retourner le numéro de téléphone)
Numéro IMEI du téléphone, utilisez les getDeviceId()
Autorisations nécessaires
Mise à jour: Cette réponse n'est plus disponible comme Whatsapp avait arrêté exposant le numéro de téléphone comme nom de compte, veuillez ignorer cette réponse.
=================================================================================
Sa fait presque 6 mois et je crois que je devrais mettre à jour ce avec une solution de rechange que vous pourriez envisager.
À compter d'aujourd'hui, vous pouvez compter sur une autre grande application Whatsapp, à l'aide de AccountManager. Des Millions d'appareils ont cette application installée, et si vous ne pouvez pas obtenir le numéro de téléphone via TelephonyManager, vous pouvez donner un coup de cette.
Autorisation:
Code:
Vérifier actype pour whatsapp compte
Bien sûr, vous ne pouvez pas l'obtenir si l'utilisateur n'a pas installé Whatsapp, mais sa vaut la peine d'essayer de toute façon.
Et n'oubliez pas, vous devriez toujours demander à l'utilisateur la confirmation.
Vous avez tout le droit, mais le problème est avec
getLine1Number()
fonction.cette méthode ne fonctionne que pour quelques de téléphone cellulaire, mais pas tous les téléphones.
Donc, si vous avez besoin d'effectuer des opérations en fonction de la carte sim(autres que de l'appeler), alors vous devriez utiliser
getSimSerialNumber()
. Il est toujours unique, valide et il a toujours existe.Vous pouvez utiliser le TelephonyManager pour ce faire:
Avez-vous utilisé