通过adb shell服务调用isms Android 4.1.2发送短信

目前我通过这个命令发送短信

adbshell服务调用isms 6 s16“phoneNumber”i32 0 i32 0 s16“smsText”

在Android 2.3.6和完美的作品。

现在我想在Android 4.1.2中使用相同的命令,但是当我发送命令时,我在Logcat中收到了这个输出

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

任何人都可以帮我删除这个“SmsRestrictionPolicy”吗?

谢谢

Solutions Collecting From Web of "通过adb shell服务调用isms Android 4.1.2发送短信"

引用这个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 

其中CCXXXXXXXXXX是国家代码,然后是电话号码。 这可能无法在非标准的android安装正常工作,您将需要find正确的keyevent值传递。


从这篇文章的评论看来,通过service call isms发送,如问题所述,是不可能的(虽然我敢打赌,如果您的应用程序设置为设备的默认短信应用程序可能的)。


在没有用户交互的情况下发送SMS的一个解决方法是将号码和消息发送到发送SMS消息的服务器。 可能已经有一个这样的第三方工具。 乍一看, 这可能是有用的。

我的环境:

  • Android 4.1.2
  • MIUI ROM

你可以试试这个。

service call isms ..命令之前切换到消息应用程序用户。

su u0_a34 \
服务电话isms 5 s16“10086”i32 0 i32 0 s16“11”

u0_a34是消息应用程序的用户名。

尝试使用telnetsms send命令。

在这里阅读更多。

它没有工作,因为在Android 4.1.2 isms数字是5而不是6.所以它是:

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

你可以检查如何做到这一点的任何Android版本在这里: 链接