J'ai un ensemble de téléphones qui ont une double carte SIM. J'aimerais les connecter à un réseau à l'aide de la carte SIM 1, effectuer quelques tests, me déconnecter du réseau, puis les connecter à un second réseau à l'aide de la carte SIM 2. Existe-t-il un moyen de faire cela via ADB ? De préférence sans accès à la racine, mais si ce n'est pas possible, avec accès à la racine, c'est bon.
Réponse
Trop de publicités?Ce message n'a pas attiré beaucoup d'attention, donc je ne sais pas si cela vaut la peine de poster la réponse, mais j'ai trouvé une solution.
Je ne savais pas, en postant ce message, que la solution dépendait de la version d'Android. Dans mon cas, les téléphones ont Android 9 (Pie).
La commande que j'ai trouvée pour activer/désactiver les cartes SIM est la suivante :
adb shell service call phone 180 i32 X i32 Y
où X est le numéro de la carte SIM (1 et 2, dans mon cas) et Y est 1 pour activer et 0 pour désactiver.
Si cela intéresse quelqu'un, j'ai trouvé la solution en fouillant dans le code source sur Android.googlesource.com. Une fois que j'ai trouvé l'interface pour ITelephony (c'était un fichier .aidl), j'ai dû compter les fonctions, car le nombre 180 dans la commande signifiait la 180e fonction dans ce fichier. J'ai également déduit les arguments i32 X i32 Y des arguments de cette fonction. La réponse à cette question m'a beaucoup aidé : https://stackoverflow.com/questions/20227326/where-to-find-info-on-androids-service-call-shell-command .