HTTP Shortcuts 是一款开源 Android 应用,它能够在屏幕上放置快捷方式或小部件,点击就会触发 RESTful API、Web 服务和 HTTP(S) 请求,支持 JavaScript,可玩性极高。@Appinn
在 clipboard-online – 在 Windows 和 iOS、Android 之间分享剪切板 里 Android 端的分享就使用了这个工具。
同样也是 @xiozf 同学在很久前发布的内容:https://meta.appinn.net/t/topic/19778
介绍了 HTTP Shortcuts 以及一个简单的用例,非常有意思,一起来看下。
HTTP Shortcuts 介绍及向 Bark 推送消息教程
前言
缘起于 @feeshy 分享的跨平台跨设备剪贴板推送/同步方案合集,受益良多。根据自己的需求折腾了好多 app,最后结果在此分享。
介绍
此篇为安卓发送篇,需求如下:
- 向 iOS 设备推送文本 本帖
- 向 PC 推送文本
- 不依赖 IM 类软件
- 不依赖 GMS
- 如为轻量型 App 更佳
试过类 Tasker app,比如 MacroDroid、Automate、Automagic,都感觉太重。目前使用一个开源 App:HTTP Shortcuts,中文名称:HTTP 快捷方式。转载自官网的简介:
A simple Android app that allows you to create shortcuts and widgets that can be placed on your home screen. Each shortcut, when clicked, triggers an HTTP request.
机翻:
一款简单的 Android 应用程序,允许您创建可以放在主屏幕上的快捷方式和小部件。单击每个快捷方式时,都会触发 HTTP 请求。
节选自官网的功能列表:
- GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS 和 TRACE
- 自定义请求标题
- 自定义请求正文(仅文本)
- 以窗口或对话框形式显示响应,或静默运行
- 通过变量注入值(如文本、数字、密码、选择、颜色、日期等)
- 在执行前后运行 JavaScript 代码并调用操作(如振动、显示吐司、解析 JSON 响应……),从而创建强大的工作流程
- 完全免费,无广告
| 软件首页 | 开源地址 | F-Droid 市场 | Play 商店 |
配置 HTTP 快捷方式 App
向 iOS 设备发送文本
- 设置变量:
- 在 App 首页点击顶栏 {} 按钮;
- 在变量界面中点击 + 按钮,选择 输入文本;
- 填写变量名称(如:Content);勾选下方的“URL 编码”;保存退出。
- 设置快捷方式:
- 在 App 首页点击 + 按钮,选择 新建快捷方式;
- 填写名称(如:push2ios),点击 基本设置;
- 保持默认”
GET
“,在 URL 栏目中填入https://api.day.app/???/发送自Android/
;点击旁边的 {} 按钮,选中你刚刚设置的变量;在URL的最后加上?automaticallyCopy=1
;保存退出。最终在 URL 栏目填的地址如下所示。???
替换成你的 Bark Key;{Content}
为你在上一步中添加并命名的变量;最后一个问号应为英文符号。https://api.day.app/???/发送自Android/{Content}?automaticallyCopy=1
- 将快捷方式发送到桌面(可选):
- 在 App 首页按住刚刚设置的快捷方式(如:push2ios),点击 发送到桌面 。
- 向 iOS 设备发送文本:
- 运行刚刚设置好的快捷方式(如:push2ios);
- 在弹出的对话框中 粘贴/输入 要发送的文字,点击 确定;
- 若弹出的 Toast 消息为
{"code":200,"data":null,"message":""}
则发送成功。
- 局限性:
- 无法直接获取剪贴板内容,只能弹输入框获取文本;
- 无法从响应正文中提取文字,也就无法复刻 Pushbullet,还要另装接收消息 app;我不懂编程,从网上搜的 JavaScript 代码测试不行,欢迎指点。
- 一个设备一个快捷方式,桌面图标太多。
triggerShortcut
和showSelection
组合起来可以只放一个图标。但目前有 BUG,在桌面无法运行。MIUI上该功能有BUG,其他系统没听说有问题。
后记
人呢,总是有许多奇奇怪怪的需求,正因为这些不一样的需求,才催生出各式各样的 app 。这些 app 解决的痛点在另一个人眼里也许就不是问题。这次折腾很久能勉强达成目的运气不错,特此分享。