在MacroDroid成为我的常驻App后,两天来我就致力于利用他让我手机里的App更少。比较简单方便容易实现的部分,我都更加愿意集中到一个App里来实现。本文我就记录一下使用MacroDroid实现短信转发功能的方法。适用于Android转发SMS到任意平台。

MacroDroid的简介看这里
下载点击这里

自动化的逻辑和实现
这个逻辑就异常简单,一共两步
- 收到短信
- 转发短信

转发时可以有的选项在这里我写三种
转发方法①_使用App内部的转发功能
这个最简单,MacroDroid里直接有这个选项

一共三种
- 短信(当然了,发短信是要花钱的)
- 电子邮件(授权一下Gmail即可,测试成功)
- WhatsApp(没有测试)
转发方法②-Telegram bot

转发Telegram的方式适用于如下人群
- Telegram用户,并在活用Telegram的bot
- 只需要接受来自一个号码的部分信息(比如只收验证码之类的)
限制用途主要是因为,目前我能写在这里的方式,收到的通知不能换行。
实现方法
①参照这里,首先申请Telegram Bot,并获得chat_id和Token
②在浏览器中尝试一下这条命令,看看机器人能否收到信息
https://api.telegram.org/bot<token>/sendMessage?chat_id=<chat id>&text=<text>
其中各个部分分别对应
- <token>对应那串很长的token文本
- <chat_id>对应chat_id,数字串
- <text>对应信息文本,打什么都行
③设置MacroDroid的转发
选项在这里<HTTP请求>

需要设置的所有参数都在这个页面

输入的网址内容基本和刚才一样,只要把<text>的内容换成短信的各个要素即可。设置时可以点链接边上那个<…>来选择并插入。
比如短信正文对应的是{sms_message},那么链接应该就是
https://api.telegram.org/bot<token>/sendMessage?chat_id=<chat id>&text={sms_message}
你也可以插入别的东西,比如时间,发信人号码之类的,但是不能换行。
测试的效果如下

其实每个句号后面我都换行了,但换行没一个成功的。除了换行以外,没有什么别的问题。
转发方法③-ntfy

这个方法适用于如下用户
- 不用Telegram
- 有ntfy,对自部署(自托管)有要求
- 从多个手机号接收短信,并需要确认时间,发信人等信息
实现方法
①首先你要有一个ntfy的服务(也可以使用官方的),参照下方。
②设置MacroDroid的转发
这次的设置分两个部分,首先是这里(见下图)
②-1 网址部分输入ntfy的订阅主题。另外,这里似乎支持带Basic Auth的ntfy(也就是下图的“基本授权”),有兴趣的可以试试。

②-2 转到内容正文处,这里可以设定转发的格式。支持换行。

测试的效果
效果如下,非常完美。
格式也可以自己随意设定。

至此,之前一直用到现在的方法正式退休。