Comment puis-je obtenir de l'ICCID numéro de téléphone?
Comment puis-je obtenir de l'ICCID numéro de téléphone?
J'ai regardé dans le TelephonyManager classe, mais ne l'ai pas trouvé là un moyen d'obtenir le numéro ICCID, il n'existe qu'une méthode qui indique si la CPI de la carte est présent.
Merci, complètement raté. iccid est de 20 chiffres selon en.wikipedia.org/wiki/Subscriber_identity_module mais cette méthode retourne un 19 chiffres Pour accompagner cela, mon SIM ATT a 20 chiffres. Il est possible que c'est différent pour les différents transporteurs. J'ai testé la fonction de nombreuses fois et il fonctionne toujours à mes besoins, mais je n'ai pas vraiment vérifié pour voir combien de caractères il retourne. Ma compréhension est SIM numéro de série et ICCID sont les mêmes choses.
Il a été ajouté que "Plusieurs Carte SIM de Soutien" pour Android 5.1 API (22).
Au lieu d'utiliser getSimSerialNumber, vous pouvez utiliser SubscriptionManager.
SubscriptionManager sm =SubscriptionManager.from(mContext);//it returns a list with a SubscriptionInfo instance for each simcard//there is other methods to retrieve SubscriptionInfos (see [2])List<SubscriptionInfo> sis = sm.getActiveSubscriptionInfoList();//getting first SubscriptionInfoSubscriptionInfo si = sis.get(0);//getting iccIdString iccId = si.getIccId();
Cette réponse n'est pas la mienne. Regardez l'historique de l'édition de mon autre réponse pour la source Remarque: vous aurez besoin de l'autorisation suivante <uses-permission android:name="android.la permission.READ_PHONE_STATE" />
usingSystem.Collections.Generic;usingAndroid.Telephony;//...protectedoverridevoidOnCreate(Bundle bundle){base.OnCreate(bundle);//Requires, android.permission.READ_PHONE_STATESubscriptionManager sm =Android.Telephony.SubscriptionManager.From(Android.App.Application.Context);IList<SubscriptionInfo> sis = sm.ActiveSubscriptionInfoList;SubscriptionInfo si = sis[0];string carrier = si.CarrierName;string iccId = si.IccId;string phoneNum = si.Number;System.Diagnostics.Debug.WriteLine("Carrier: "+ carrier);System.Diagnostics.Debug.WriteLine("SIM Card IccId: "+ iccId);System.Diagnostics.Debug.WriteLine("Phone Number: "+ phoneNum);//Bonus, Get the IMEI Id (aka, DeviceId)TelephonyManager tm =(TelephonyManager)GetSystemService(Android.Content.Context.TelephonyService);string deviceId = tm.DeviceId;System.Diagnostics.Debug.WriteLine("Device Id: "+ deviceId);}
Les deux SubscriptionManager et SubscriptionInfo sont trouvés sous le Android.Téléphonie espace de noms
Vérité être dit cet exemple a été nécessaire pour activer mon téléphone à la volée et ne pas avoir la carte SIM outil pratique pour le retirer. Et, mes yeux ne sont pas ce qu'ils utilisent. Vue sur DroidTelephonySimInfo.cs sur gist.github.com
Suis-je droit à ce que cette méthode fonctionne uniquement pour les API 22+? puisque cette méthode est à l'aide de SubscriptionManager je crois que la réponse est "oui". N'hésitez pas à essayer cependant. developer.android.com/about/versions/android-5.1.html
Je crois
getSimSerialNumber()
obtiendrez iccid.iccid est de 20 chiffres selon en.wikipedia.org/wiki/Subscriber_identity_module mais cette méthode retourne un 19 chiffres
Pour accompagner cela, mon SIM ATT a 20 chiffres. Il est possible que c'est différent pour les différents transporteurs. J'ai testé la fonction de nombreuses fois et il fonctionne toujours à mes besoins, mais je n'ai pas vraiment vérifié pour voir combien de caractères il retourne.
Ma compréhension est SIM numéro de série et ICCID sont les mêmes choses.
OriginalL'auteur Reed
Mise à JOUR pour Android 5.1
Il a été ajouté que "Plusieurs Carte SIM de Soutien" pour Android 5.1 API (22).
Au lieu d'utiliser
getSimSerialNumber
, vous pouvez utiliserSubscriptionManager
.Remarque: vous aurez besoin de l'autorisation suivante <uses-permission android:name="android.la permission.READ_PHONE_STATE" />
OriginalL'auteur Reed
@Jakar, merci beaucoup! Voici le même code en C# à l'aide de Xamarin /Mono.Android
Nécessite l'autorisation définie dans votre AndroidManifest.xml
Simple C#
Les deux SubscriptionManager et SubscriptionInfo sont trouvés sous le Android.Téléphonie espace de noms
Vérité être dit cet exemple a été nécessaire pour activer mon téléphone à la volée et ne pas avoir la carte SIM outil pratique pour le retirer. Et, mes yeux ne sont pas ce qu'ils utilisent. Vue sur DroidTelephonySimInfo.cs sur gist.github.com
puisque cette méthode est à l'aide de SubscriptionManager je crois que la réponse est "oui". N'hésitez pas à essayer cependant. developer.android.com/about/versions/android-5.1.html
OriginalL'auteur Damian