目前我通过此命令发送短信:
在Android 2.3.6中运行良好。adb shell service call isms 6 s16" phoneNumber" i32 0 i32 0 s16" smsText"
现在我想在Android 4.1.2中使用相同的命令,但是当我发送命令时,我在Logcat中收到了这个输出
> 12-11 14:17:37.97 1626-2182/? D/PhoneRestrictionPolicy﹕ SmsRestrictionPolicy.canOutgoingSms >>>>
任何人都可以帮我删除这个" SmsRestrictionPolicy"请?
谢谢
答案 0 :(得分:2)
引用this 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安装上正常工作,您需要找到要传递的正确keyevent值。
根据this post上的评论,似乎无法通过问题中提到的service call isms
发送(尽管如果您的应用是,我敢打赌 可能设置为设备的默认SMS应用程序。)
在没有用户交互的情况下发送SMS的一种解决方法是将号码和消息发送到发送SMS消息的服务器。可能已经有了第三方工具。快速浏览一下,this可能会有用。
答案 1 :(得分:1)
你可以试试这个。
在service call isms ..
命令之前切换到消息应用程序用户。
su u0_a34 \
服务电话主义5 s16" 10086" i32 0 i32 0 s16" 11"
u0_a34
是邮件应用程序的用户名。
答案 2 :(得分:0)
尝试使用telnet
和sms send
命令。
了解更多here。
答案 3 :(得分:0)
它没有用,因为在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版本执行此操作:link