问题描述
本文旨在探讨如何通过 Android 设备和一台计算机创建一个自动短信服务器系统。具体需求如下:
- 使用手机作为 SMS 网关,与自动化服务进行连接;
- 让手机发送和接收短信;
- 利用计算机来指挥手机的操作。
场景示例:手机收到一条类似于 [家庭] 今天的聚会将在下午2点开始
的短信,并通过计算机将其转发给 家庭
列表中的所有联系人。或者,还可以通过命令如 [添加] 家庭,0123456789
来向该列表添加新的电话号码。
系统需求
要实现上述功能需要以下几个组件:
- 一个能够将手机端接收到的短信转发给 HTTP 服务器的应用;
- 一个可以从 HTTP 服务器接收命令并控制手机执行相应操作的机制。
- 考虑到安全性,也可以采用 USB 连接的方式进行通讯。
解决方案
方案一:SMS Gateway 应用
根据问答数据中的一些建议,SMS Gateway 是一种可以实现短信流量通过 SMTP/POP 协议转发至 HTTP 服务器并同时接收控制指令的应用。它满足了上述需求中的双向通信能力:
- 收到用户自定义的命令(如
[添加]家庭,0123456789
),动态更新联系人列表。 - 接收到家庭成员发送的信息后,能够自动地将这些信息转发给预置的其它号码。
方案二:Tasker 应用加 HTTP 控制
根据评论中提到的 Tasker 是一个非常流行的应用程序。其功能十分强大,包括支持接收和处理 HTTP 请求,这恰恰解决了上述需求的问题:
- 通过 Tasker 创建一系列规则(Profiles),定义当收到短信并符合某些条件时应执行的动作。
- 利用 HTTP 插件或自编脚本方式,从 HTTP 服务器获取操作指令,并据此控制手机的操作。
Tasker 应用的具体实现步骤:
- 安装并启动 Tasker。
- 添加新的 Profile:定义接收到来历特定的文本格式消息(如
[添加]XX,XXX
)时的行为设置。例如可以创建任务自动将指定号码加入到预置的联系人列表里。
技术细节
- 使用 SMS Gateway 应用的优势:
- 界面简单直观。
可以通过 SMTP/POP 协议无缝接入多种后端服务。
利用 Tasker 的优势和注意事项:
- 需要一定的编程技能才能编写出高效实用的规则和脚本。
- 虽然采用 USB 有线连接方式会更可靠,但在现代设备中很少见。无线通信(如蓝牙或 Wi-Fi)也可以作为替代方案。
综上所述,在选择具体实现时需权衡简便性和灵活性之间的需求。这两种方法都能较好地满足构建基于 Android 的自动短信服务器的目标。选择 SMS Gateway 应用更为便捷;而 Tasker 则提供了更高的自定义和控制能力,尤其适合熟悉程序设计的朋友考虑使用。可根据个人喜好与特定场景需求来做出最终决定。
正文完