Windows控制安卓手机拨号与发信息

本文介绍如何使用ADB工具实现在Windows客户端上控制安卓手机拨打电话和发送短信的功能,包括环境搭建、具体命令及其注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近项目遇到一个需求,要求在Windows客户端上实现控制安卓手机拨号和发消息的功能。目前此功能已完成,记录一下分享给有需要的朋友。

1.环境搭建
http://adbshell.com/downloads处下载Windows下adb工具包,下载后将adb.exe程序所在目录添加到环境变量。
2.拨号功能实现
拨号功能实现比较简单,通过如下adb命令即可实现。
3.短信发送功能
翻阅网上相关短信发送命令,找到如下命令:

adb shell am start -a android.intent.action.SENDTO -d sms:10086 --es sms_bodyhelloworld

测试,果然可行。但是修改一下sms_body内容未 hello world时,出现了问题,控制台输出如下:
控制台解析adb sms_body时,无法解析sms_body内容中携带的空格,导致解析出错。
解决方法:
sms_body内容添加单引号。

但是,上面命令只实现了打开短信编辑页面,将sms内容粘贴到短信内容编辑框,却并没有完成最后的“发送”操作。网上提示可以添加以下两句命令可实现
短信发送:
adb shell input keyevent 22
adb shell input keyevent 66

以上命令在Android2.2.1及之前版本是可以实现短信发送功能的,但是Android更新后,已经对此功能进行了优化,现阶段
Android 5以上版本上面的命令已不能实现短信发送的功能了。
解决方法:
通过getevent命令找到短信发送按钮的x,y坐标,步骤如下:
1、getevent -l 捕获手机点击事件

其中:event5为手机屏幕, 548、943为点击发送按钮后getevent捕获到的点击坐标,此坐标为16进制,转换为10进制为1352,2371
2、 此命令模拟点击发送按钮,将之前暂存到信息编辑页面的内容发送出去。
adb shell input tap 1352 2374


总结:
adb实现拨号:
adb shelll am start -a android.intent.action.CALL tel:10086

adb实现信息发送:
adb shell am start -a android.intent.action.SENDTO -d sms:10086 --es sms_body ' 摇 曳 单 车'
adb shell input tap 1352 2371
注:坐标位置不同型号手机存在差异
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值