Comme je sais que vous ne pouvez pas obtenir le numéro de téléphone de destination, IMSI du SMS entrant.
Vous pouvez obtenir l'IMSI et le numéro de téléphone SIM de cette manière.
Vous pouvez obtenir le numéro IMSI de la carte SIM mais je ne pense pas que vous pourrez obtenir le numéro de téléphone de toutes les cartes SIM car certains fabricants n'ont pas enregistré le numéro de téléphone dans la carte SIM.
Dans Android, aucun moyen d'utiliser Android SDK pour obtenir la deuxième information SIM. Vous pouvez obtenir les informations de la première carte SIM uniquement.
Le SDK Android prend en charge les premières informations SIM et les fonctions Dual SIM sont disponibles du côté de la fabrication et ne sont donc pas officiellement prises en charge par le SDK Android.
Ajouter ce AndroidManifest.xml
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
Ajouter ceci dans lequel vous souhaitez obtenir des détails SIM.
TelephonyManager telemamanger = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
Pour obtenir l'IMSI du 1er SIM
String imsi = telemamanger.getSimSerialNumber();
Pour obtenir le numéro de téléphone du 1er SIM
if(telemamanger.getLine1Number() != null)
String phoneNumber = telemamanger.getLine1Number();
Merci pour votre answer.But quand je reçois un sms comment puis-je savoir par programme ce qui sim reçoit le sms? –
En fait, 'telemamanger.getSimSerialNumber();' retourne l'ICCID (numéro de série simcard, unique et ** imprimé ** dans la carte SIM). Si vous avez besoin de l'IMSI (qui est ** stocké ** dans la carte SIM et peut être changé), vous voulez 'telemamanger.getSubscriberId(); ' Méfiez-vous cependant, une implémentation du fabricant ne renvoie que les chiffres non-personnels de l'IMSI (6 chiffres au lieu de 14-15) – baramuse
maintenant dans OS 5.1 et ci-dessus, nous pouvons obtenir getSubscriberId() mais comment puis-je identifier quelle SIM reçoit le sms de IMSI ou getSubscriberId? – Achin