我希望能够发送短信从我的Android手机,而它连接到我的电脑使用以下ADB命令
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
我已经得到了这个工作,但在手机上,这将弹出一个文本消息的收件人与身体填写,然后点击发送按钮,并返回到你在哪里.有没有任何方法来完成这一点完全在后台,所以它不会干扰任何事情发生在手机上?
8条答案
按热度按时间axkjgtzd1#
Android 5及更早版本(此处为Android 4):
Android 5及更高版本(此处为Android 9):
isms方法编号(上面的5和7)可能会随着android版本而改变。阅读完整的解释来理解它。
是的,它存在!但不是用这个命令,因为这些输入事件在睡眠模式下被阻止。这个解决方案取决于你的安卓版本,所以我会解释你几乎所有的版本...
首先,通过运行以下命令检查您是否拥有服务isms:
答案是找到了,很好,继续前进。服务isms有各种"选项",语法是:
可以通过键入以下内容找到服务名称:
它将显示许多可用的服务,但有趣的一行是:
你可以看到com.android.internal.telephony.isms,所以在这个link上选择你的android版本(通过改变分支),然后导航到:
telephony/java/com/android/internal/telephony
和打开的Isms.aidl
其余的我将采取android馅饼(android 9)文件(link)。
在第185行,我们有:
具有自身权限的订阅服务器的void sendText...
sendText(...)
。这是接口ISMS中的第7个声明。因此,我们发送短信的选项是数字7。在声明的顶部有参数的解释。以下是简短版本:
就在完成之前,在服务中,字符串由s16和整数以及带有i32的PendingIntent声明。
对于我的例子,我们有:
最后:
Android 5及更早版本(此处为Android 4):
Android 5及更高版本(此处为Android 9):
安卓4的send.bat:
运行:
现在告诉我它是否适用于你的安卓版本:)
jtoj6r0c2#
相反,您可以编写自己的IntentService,如下所示。在清单中为以下IntentService创建一个条目。
yiytaume3#
我已经花了很多时间试图让我的HTC Desire与SlimKat的权利。现在我使用这个脚本,让我发送短信几乎立即(yad图形用户界面是非常快)与我的PC键盘。我只需要选择一个手机号码(让我们说00165826453),并按WinKey+S,这打开:
这是我为此开发的BASH脚本:
这是phonomenaly有用和快速。唯一的缺点是,发送的短信不会出现在默认的短信应用程序对我的SlimKat。
为了让这个功能在您的Debian衍生产品上运行,您必须:
或者你发行版的等价物。
这在我的机器上工作,因为我在我的SlimKat安装上设置了一个SSH服务器,使用密钥认证。你可以稍微修改它,通过ADB无线工作。
ffx8fchx4#
下面的答案对我来说很有效!在Android 5.02中,选项是12,我发现您可以发送null作为SMSC来使用默认值,因此发送短信可以使用:
bfrts1fy5#
谢谢你,Taknok,给了我一个很棒的回答。
我用的是三星Galaxy S5,Android版本为6.0.1。在我的手机上,SIM卡的subId实际上是3(而不是你回答中建议的0、1或2)。我花了一段时间才弄明白,所以我在这里发帖,以防其他人也想知道。这个命令起作用了:
kgqe7b3p6#
对于Android版本8,我使用了以下代码:
但有时取决于移动的在我使用相同的代码三星j5版本8,但在这里我使用
isms 7 i32 8
.对于Android版本9,我使用了以下代码:
对于Android版本6,我使用了以下代码:
但是我卡在了Android版本11。我习惯了很多条件,但没有来到正确的地方。
4uqofj5v7#
对于Android 12(sdk 31),请查找最新的解决方案:
这基于源代码中的以下函数,以防您想要更改
"null"
值:这是测试成功使用三星Galaxy S21和摩托罗拉(新旗舰)在T-Mobile网络。
**注意以前的问题(投票否决的原因)是由于软件包名称中的“services”而不是“service”。不确定GS 21未受这些更改影响的原因。
wj8zmpe18#
Android 13函数签名未更改,但在此处尝试之前的答案时,
adb
命令失败,响应奇怪。Unix shell别名,例如
.bash_profile
用法:短信“+372xxxxxx”“您的留言”
Windows CMD别名:
将 *.bat/cmd文件路径添加到
HKLM\Software\Microsoft\Command Processor
中的AutoRun
值用法:
sms +372xxxxxx Your message