首页 > 解决方案 > 在 Android 手机上使用 adb bridge 从 Linux 终端发送短信

问题描述

我尝试遵循解决方案 1解决方案 2。不幸的是,我收到以下信息:

$ adb shell service call isms 5 s16 "1234564789" i32 0 i32 0 s16 "SMS TEXT HERE"

服务:未知选项文本

结果:包裹(向 Icc 复制消息:用户 2000 和当前进程都没有 android 权限 RECEIVE SMS)

$ adb shell service call isms 5 s16 "+1234564789" i32 0 i32 0 s16 "SMS TEXT HERE"

服务:未知选项文本

结果:包裹(向 Icc 复制消息:用户 2000 和当前进程都没有 android 权限 RECEIVE SMS)

$ adb shell service call isms 7 i32 0 s16 "com.android.mms.service" s16 "+1234564789" s16 "null" s16 "keje" s16 "null" s16 0

结果:包裹(尝试获取空数组的长度)

$adb shell service call isms 7 i32 0 s16 "com.android.mms.service" s16 "+1234564789" s16 0 s16 "Hey you !" s16 0 s16 0

结果:包裹(尝试获取空数组的长度)

$adb shell service call isms 5 s16 "com.android.mms" s16 "+1234564789" s16 "+61418706275" s16 "Hey you !" i32 0 i32 0

结果:包裹(尝试获取空数组的长度)

我尝试了上述的不同组合,但我无法理解其他人如何使用该命令发送短信,但我不能。如果有人能指出我做错了什么,我将不胜感激。

我正在使用一台 linux 机器和一部 5.1 的 android 手机,通过 USB 线连接,USB 调试打开。

ro.build.version.release=5.1
TAG=android-5.1.0_r1
 

标签: androidshellsmsadb

解决方案


最后我发现它应该如何在 Android 5.1 上运行。

$ adb shell service call isms 9 s16 "com.android.mms" s16 "DEST_NUMBER" s16 "null" s16 "MESSAGE\ BODY" s16 "null" s16 "null"

您还可以使用以下格式来补偿消息中的空格:

$ adb shell service call isms 9 s16 "com.android.mms" s16 "DEST_NUMBER" s16 "null" s16 "'MESSAGEBODY 2 with spaces'" s16 "null" s16 "null"

此查询现已关闭。


推荐阅读