当前位置:   article > 正文

安卓自动化APP——Tasker_自动任务app

自动任务app

前言

本文介绍另一款安卓手机自动化软件,名为Tasker。与之前介绍的一款自动化软件原理相似。如需要,请参考我的这篇文章——安卓自动化APP——Macrodroid。Tasker这款软件也是通过触发器>>>任务的原理实现自动化的。但这款软件相较Macrodroid更底层一些,同时也更难操作,需要的专业知识更多。

一、软件介绍

软件特色

  1. 支持自定义简单的场景,类似APP的一个页面一样。
  2. 支持shell脚本,JAVA函数、JavaScript脚本和SL4A脚本。
  3. 支持其他软件快捷方式调用。
  4. 可以制作摩尔斯电码。
  5. 支持简单的图片处理,和压缩、解压、SQL数据库读取基本操作。
  6. 支持Tasker插件和第三方插件。
  7. 不必提前声明变量,在任务中定义变量会在变量中自动出现。
  8. 变量支持Json、HTML/XML、CSV格式。
  9. 支持CPU调控。
  10. 支持复杂的手势操作。
  11. 可以和Macrodroid嵌套使用。

使用逻辑

  • 通过在配置文件中添加触发器,然后指定触发器要执行的任务。并且通过局部变量、全局变量传递各任务、场景之间的数据。如果需要条件限制可以在任务中配置 If 条件即可。

注意事项

  • 若需要任务保持后台运行,需要在手机中打开自启动、关闭电池优化、锁定近期任务(各品牌手机可能有所差异)。
  • 各功能需要足够权限,请在主界面右上角选择更多>>Android 设置中依次点击各权限允许即可。(无障碍可能会在软件结束运行后失效,需要重新授权!新版本Tasker支持无障碍保活。)
  • 注意保存提交, 编辑完任务后要记得在主界面点击上方的 按钮提交或按手机返回键 (不是home键) 提交保存才能生效。

二、使用教程

配置文件(介绍几个难以理解的,下同)

包括事件、位置、应用程序、时间、状态这几类。其实都可以看做同一种——满足某种触发条件。选择好配置文件后按照软件提示选择或者新建一个任务,然后继续查看本文之后的任务一节。

图1 配置文件示意图
  1. 事件>>>传感器>>>手势

在名称中填入手势名称后,长按音量键开始记录手势。此事件利用手机的加速度传感器、陀螺仪传感器等,记录手机在空间中X、Y、 Z、三个轴的相对方向和位置,形成运动轨迹,当手机再次识别到类似的轨迹后触发动作。

图2 手势编辑示意图
  1. 事件>>>系统>>>剪贴板已改变
    在Android 10系统后剪贴板后台读取权限已被官方限制(后台写入权限不受限制),并且在手机息屏状态下,剪贴板也不能不能读写。 忽略Tasker设置可以过滤掉Tasker自身对剪贴板的修改。
  2. 事件>>>系统>>>Logcat 入口
    此功能需要ROOT权限,利用安卓手机的adb logcat功能抓取手机日志作为触发器,利用此功能可以获取系统中绝大部分事件进行触发,包括intent,指纹,通知等。
  3. 事件>>>系统>>>收到的意图
    此功能为Android系统组件中的Intent组件,用于接收系统全局Intent。在收到的ntent extra 数据后可以在变量中直接使用extra中的Key作为变量名,Value作为变量值。

任务

  1. 代码>>>JAVA函数
    代码编辑功能算是Tasker这款软件中最强大的地方。支持原生的JAVA函数、Android API,JS脚本以及shell命令。由于其中涉及的知识已经超出本文介绍的范畴,故只介绍下使用注意事项:
    ①. 调用函数的时候需要现在类或对象中选择一个类,并在功能中调用类或对象的成员函数。有参数的函数需要在调用函数之前创建传参的对象。
    ②. 返回值的名称不能与Tasker内部变量冲突,建议返回值的名称以小写开头并用驼峰命名或下划线命名等方式加以区别。
    ③. Tasker中不用声明变量和实例化对象的类型,直接在返回值后传递即可。但需要调用构造函数的类需要先new后在返回值中使用成员函数。

举个栗子:Android API中新建文件的Java代码如下:
(为了更直观地与Tasker对比,没有采用链式调用的写法)

// 获取外置存储根目录
File rawPath = Environment.getExternalStorageDirectory();
// 把目录转换为String类型,因为 File() 方法的两个参数的类型为String
String filePath = rawPath.toString();
String fileName = "FileName";
// 新建一个文件
File rawFile = new File(filePath, fileName);
// 用文件输出流把文件写入目录
OutputStream newFile = new FileOutputStream(rawFile);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

在Tasker中对应的操作如下(点击查看原图):

图 3-1 整体任务流程示意图图 3-2 第三步任务示意图

由上图对比可见,在Java代码中变量名对应图 3-1 中的等号左边和图 3-2 中的返回值。而代码中的变量类型则在选择图 3-2 中参数类型时由Tasker自动判断。

  1. 代码>>>运行shell命令
    安卓自动化APP——Macrodroid这篇文章中的第9条——shell命令,使用方法相同。
  2. 变量
    全局变量必须以 %+大写英文字母开头且大于三个字符,局部变量全为小写,并且要与Tasker内部变量区分开,Tasker内部变量参考软件内操作指南。Tasker中有数组变量,即在%变量名后加数字,数组序列从1开始。如%VAR1%VAR2等。
  3. 场景
    场景用于创界自定义UI界面,并在界面中调用相关任务。需要注意的是显示场景为图层的时候一定要注意注意勾选显示退出按钮,不然UI界面会遮挡整个手机屏幕只能重启手机才能退出。
  4. 插件
    插件功能可以挂载第三方Tasker相关插件。可以在Google Play商店中下载安装。或直接在Tasker官网安装使用。插件中的变量规则可以与Tasker中的变量共用。需要注意的是:如果需要后台使用插件的功能,需要同时打开插件的自动唤醒、锁定近期任务、关闭电池优化、允许权限等相关操作,否则无法正常使用。
  5. 显示>>>DPI密度调整
    调整屏幕分辨率。新手谨慎操作,错误的DPI可能会导致手机无法开机。

场景

场景用于创建自定义UI,可以在UI中调用任务。场景编辑器有两种模式——界面编辑模式和元素编辑模式。新建好场景后要调出场景请在任务编辑中新建一个任务,选择场景>>>显示场景,关闭场景请用隐藏场景(请注意区分删除场景哦,删除场景会直接删除刚创建好的场景界面哦!)

图4 场景编辑示意图

  • 填写完场景名称后立即进入的是 场景编辑模式,用来编辑场景的类型、显示方向、分辨率和背景色等。屏幕中央的矩形为图形UI的大小,拖动矩形四角以改变大小。点击右上角的 图标编辑属性。点击左下角的图标撤销上一步,点击
    声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/218721
推荐阅读
相关标签