android - 在 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
解决方案
最后我发现它应该如何在 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"
此查询现已关闭。
推荐阅读
- reactjs - 为什么反应选择默认值不显示
- asp.net-core - 将主页路由到区域内的索引?
- amazon-web-services - JupyterHub 上用于 AD 的 LDAPAuthenticator
- apache-spark - 为什么调用 show() 操作会在 spark 中创建两个单独的作业?
- elasticsearch - 如何在不更改设置的情况下不区分大小写进行排序
- sql - 连接服务器后批处理文件不执行 psql 查询
- android - DownloadManager - 即使有适当的权限,下载也会失败
- php - Laravel 多条目关系
- extjs - 了解 ExtJs 类属性
- terraform - Terraform sha 计算发生在文件创建之前