使用MacroDroid实现短信自动转发功能

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

MacroDroid

MacroDroid的简介看这里

下载点击这里

get it on google play

自动化的逻辑和实现

这个逻辑就异常简单,一共两步

  • 收到短信
  • 转发短信

转发时可以有的选项在这里我写三种


转发方法①_使用App内部的转发功能

这个最简单,MacroDroid里直接有这个选项

一共三种

  • 短信(当然了,发短信是要花钱的)
  • 电子邮件(授权一下Gmail即可,测试成功)
  • WhatsApp(没有测试)

转发方法②-Telegram bot

telegram Logo

转发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

ntfy

这个方法适用于如下用户

  • 不用Telegram
  • 有ntfy,对自部署(自托管)有要求
  • 从多个手机号接收短信,并需要确认时间,发信人等信息

实现方法

①首先你要有一个ntfy的服务(也可以使用官方的),参照下方。

②设置MacroDroid的转发

这次的设置分两个部分,首先是这里(见下图)

②-1 网址部分输入ntfy的订阅主题。另外,这里似乎支持带Basic Auth的ntfy(也就是下图的“基本授权”),有兴趣的可以试试。

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

测试的效果

效果如下,非常完美。

格式也可以自己随意设定。


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