Envoyer des SMS via adb shell service appeler isms Android 4.1.2

actuellement j'envoie SMS par cette commande:

adb shell appel de service isms 6 s16 "numéro de téléphone" i32 0 i32 0 s16 "smsText"

sur Android 2.3.6 et fonctionne parfaitement.

Maintenant je veux utiliser la même commande dans Android 4.1.2 mais quand j'envoie la commande, j'ai reçu cette sortie dans le Logcat

> 12-11 14:17:37.97 1626-2182/? D/PhoneRestrictionPolicy﹕ SmsRestrictionPolicy.canOutgoingSms >>>>

N'importe qui peut m'aider à enlever cette "SmsRestrictionPolicy" s'il vous plaît?

Merci

17
demandé sur Rishabh Srivastava 2014-12-11 22:23:16

4 réponses

Citant ce post:

adb shell am start -a android.intent.action.SENDTO -d sms:CCXXXXXXXXXX --es sms_body "SMS BODY GOES HERE" --ez exit_on_sent true
adb shell input keyevent 22
adb shell input keyevent 66

où CCXXXXXXXXXX est le code de pays suivi du numéro de téléphone. Cela peut ne pas fonctionner correctement sur les installations android non standard, vous aurez besoin de trouver les valeurs keyevent correctes pour passer.


les commentaires sur ce post il semble que l'envoi par service call isms, comme mentionné dans la question, n'est pas possible (bien que je le parierais possible si votre application est SMS app par défaut pour l'appareil).


une solution de rechange à l'envoi d'un SMS sans interaction avec l'utilisateur serait d'envoyer le numéro et le message à un serveur qui envoie des messages SMS. Il y a probablement déjà un outil tiers pour cela. Au premier coup d'œil, peut être utile.

2
répondu Phil 2017-05-23 12:26:39

Mon Environnement:

  • Android 4.1.2
  • MIUI ROM

vous pouvez essayer cette.

passer à l'utilisateur de l'application message avant service call isms .. la commande.

su u0_a34 \

appel de service isms 5 s16 " 10086 "i32 0 i32 0 s16"11"

u0_a34 est le nom d'utilisateur de l'application message.

1
répondu bootlater 2016-02-04 09:26:37

telnet et sms send commandes.

Lire la suite ici.

0
répondu klimat 2017-05-23 12:26:39

Il n'a pas fonctionné parce que dans android 4.1.2 le numéro isms est 5 et pas 6. Donc, c'est :

adb shell service call isms 5 s16 "com.android.mms" s16 "+01234567890" s16 "+01000000000" s16 "Hello world !" i32 0 i32 0

Vous pouvez le vérifier comment le faire pour n'importe quel version d'android ici : lien

0
répondu Taknok 2017-05-23 10:29:27