2014-12-11 2 views
17

Derzeit ich SMS von diesem Befehl senden:SMS über adb shell Serviceanruf Ismen Android 4.1.2

adb shell-Service-Aufruf Ismen 6 s16 "phonenumber" i32 0 i32 0 s16 "smsText"

in Android 2.3.6 und funktioniert perfekt.

Jetzt möchte ich den gleichen Befehl in Android 4.1.2 verwenden, aber wenn ich den Befehl, den ich diese Ausgabe in Logcat

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

Jeder kann mir bitte helfen, dieses „SmsRestrictionPolicy“ zu entfernen, erhalten senden?

Dank

+0

Haben Sie versucht das? http://stackoverflow.com/questions/4043490/how-doi-send-an-sms-from-a-shell – Phil

+0

Mögliche Duplikate von [Senden einer SMS auf Android über ADB] (https://StackOverflow.com/questions/17580199/sending-a-sms-on-android-durch-adb) – Taknok

Antwort

2

this post Zitiert: country-Code gefolgt von Telefonnummer

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 

Wo CCXXXXXXXXXX ist. Dies funktioniert möglicherweise nicht korrekt bei nicht standardmäßigen Android-Installationen. Sie müssen die korrekten KeyEvent-Werte finden, die übergeben werden sollen.


Von Kommentaren zu this post scheint es, dass über service call isms senden, wie in der Frage erwähnt, nicht möglich ist (obwohl ich würde wetten, es ist möglich, wenn Sie Ihre App als Standard-SMS-App für das Gerät eingestellt ist).


Ein Work-around zu einer SMS ohne Interaktion mit dem Benutzer zu senden wäre, die Anzahl und die Nachricht an einen Server zu senden, die SMS-Nachrichten sendet. Wahrscheinlich gibt es dafür bereits ein Tool von Drittanbietern. Auf einen Blick kann this nützlich sein.

0

Mit den Befehlen telnet und sms send versuchen.

Lesen Sie mehr here.

1

Meine Umwelt:

  • Android 4.1.2
  • MIUI ROM

Sie können dies versuchen.

Wechseln Sie zum Nachrichtenanwendungsbenutzer vor dem Befehl service call isms ...

su u0_a34 \
Serviceruf isms 5 s16 "10086" I32 I32 0 0 s16 "11"

u0_a34 ist der Benutzername der Nachrichtenanwendung.

+0

Danke ich werde es versuchen – AlejandroQH

0

Es hat nicht funktioniert, weil in Android 4.1.2 die ISMS-Nummer 5 und nicht 6 ist. es ist also:

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

Sie können überprüfen, wie es für jede Android-Version tun hier: link