每当我使用手机时,就对各种App的签到领奖非常反感,如果不签好像吃了亏,签一次花的时间自己也觉得不值。这时候我就在想,如果有一个App,能够自动帮我完成这种每天重复执行的任务就好了。之前找到一个叫uiautomator2的python项目,能够实现类似的功能,但是这个项目实际上是基于谷歌的uiautomator自动化调试工具,每次开机都要连电脑激活才能用。没有达到理想中的“自动化”。直到最近,终于发现了Automagic Premium 。
Automagic 是一个 Android 应用程序, 以下是官网上介绍的几个使用示例:
根据位置更改设置将每条 SMS 作为邮件发送到 GMail 自动回复传入的 SMS 电池几乎空时关闭 Wifi 当你离开家时关掉wifi当你到家时, 把 wifi 打开在晚上打开飞机模式, 在早上关掉它 (需要root权限) 每周对文件进行备份到公司就打开录音机开始录音,下班就停止(开发者是在什么样的公司上班啊)等等
以上只是软件功能中极小的部分,并且很多功能在国产UI中已经实现。实际上这个软件具有代码编辑器和执行的功能,而且能够分析其他App的资源。因此能做到非常多的事。下面介绍实现每天早上5点自动在网易云音乐上点签到的功能。
主界面就是所有自己编写的Flow。每一个Flow类似一个函数,可以包含其他的Flow。点击右下角的加号新建一个Flow,并使用右上角的菜单重命名为“网易云音乐签到”。
代码结构与流程图类似,点开每个框可以看到里面的代码。初始只有一个起始框,以它为基础可以添加新的框,从图中可以看出依次添加了
强制关闭网易云音乐打开网易云音乐等待13秒弹出提示框点击“抽屉菜单”等待1秒读取签到按钮的文字如果是“已签到 >”,弹出提示并退出如果不是,点击签到按钮,等一秒之后退出
下面详细介绍每一步
强制关闭网易云音乐
这里用了需要root权限的关闭方法,Automagic中提供了多种关闭方法,不需要root权限的关闭方法无法关闭前台运行的应用。而且不是彻底关闭而是休眠,下次打开依然显示上次运行的intent。这会增加自动签到的难度,所以用彻底关闭的方法保证每次打开都是相同的起始界面。
打开网易云音乐
等待13秒
弹出提示框
点击“抽屉菜单”
click命令有很多种执行方法,点坐标是最笨也是最后的手段,最好是得到网易云音乐左上角菜单的布局信息,通过点击SHOW OVERLAY CONTROL,可以弹出一个工具栏,切换到网易云音乐的主界面,点INFO。可以看到网易云音乐的界面按照控件分割成了很多块。
点左上角的那一块可以看到菜单的详细信息,包括描述、id、中心坐标等等,并且给出一些操作这个控件的可能的命令的示例。按照示例把click(“抽屉菜单”);写进Control UI代码框中即可。
等待1秒
与等待13秒相同,不再重复
读取签到按钮的文字
如果是“已签到 >”,弹出提示并退出
弹出提示、退出与上面相同,不再重复
如果不是,点击签到按钮,等一秒之后退出
点击按钮和等待的方法与上面类似,不再重复
增加定时执行功能
基本功能已经实现,只要在最开始的框里选择启动条件中的Time,然后每天选择5:00。注意右上角的开关需要打开,否则不会自动执行。
由于Automagic 支持Flow之间互相调用,因此可以只写一个定时器,把每个要定时执行的项目写成一个Flow,再在定时器中依次调用,更方便管理。
关于亮屏解锁,首先唤醒屏幕,然后滑动呼出密码键盘,再依次输入密码即可。需要root权限。具体过程有时间再说。
Automagic Premium下载链接
Play商店下载(付费)
试用版
本文中提到的部分源码,可直接导入:
/w598753468/Automagic-Premium-Scripts/tree/master