前言
最近需要用群发变量短信
因短信平台不支持链接变量,且数量不大
所以用打算用手机发送
方法一
adb shell am start -a android.intent.action.SENDTO -d sms:10086 --es sms_body "hello" --ez exit_on_sent true
adb shell input keyevent 66
遇到两个问题
第一操作过程是模拟运行短信应用,输入文本,点击发送的逻辑,如果再自动操作的过程中误触屏幕可能会有别的影响。
第二adb shell input keyevent 66,在我的手机上没用😓
方法二
#安卓10以上
adb shell service call isms 5 i32 1 s16 "com.android.mms" s16 "null" s16 "phonenumber" s16 "null" s16 "message" s16 "null" s16 "null" i32 0 i64 0
#安卓10以下
adb shell service call isms 7 i32 1 s16 "com.android.mms" s16 "phonenumber" s16 "null" s16 "message" s16 "null" s16 "null"
直接调用底层,有两个问题。
第一,短信应用中没有发送记录。
第二,超过70个字发送失败。
方法三
找到一个应用shellms
https://github.com/try2codesecure/ShellMS
https://f-droid.org/wiki/page/com.android.shellms
adb shell am startservice --user 0 -n com.android.shellms/.sendSMS -e contact number -e msg "message"
app安装后,打开应用权限,number无引号。
测试可以70字以上,满足我的需求。
方法四
安装termux和termux-api
termux-sms-send -n phonenumer "message"
termux功能强大,满足我的需求。
以上