Tasker无法调用插件或者无法运行第三方应用的解决方法

这个问题其实已经存在5,6年了,自Android 5.0发布以来Tasker无法调用插件或者无法运行第三方应用的现象越来越突出.
一个原因也许是,Android 4.0-4.4 世代手机设备大多已经root,尤其是玩Tasker的.国产手机不root压根就安装不了Tasker早期版本.
Tasker使用者也越来越多
Tasker作者之前说原因是Google play的政策影响造成的.这个理由本人持怀疑态度.

  1. Tasker插件
    我们先来看下Tasker是如何调用插件来协助完成任务的.
    From version 5.1.5b, Tasker will use IntentServices to call plugins if available. This will make plugin integration faster and more reliable.
    Add Services in the manifest with the same com.twofortyfouram.locale.intent.action.FIRE_SETTING and com.twofortyfouram.locale.intent.action.QUERY_CONDITION intent filters as your existing broadcast receivers and make sure they're exported (android:exported="true")从摘抄中可以看出这个是Tasker通过服务发出消息给插件来执行各种任务,插件通过自身已经设置的广播接收器来接收信息,从而来执行相应的任务.
    应用与应用间的消息传递,需要插件自身在手机系统中处于不被杀死的状态才能接收到信息,否则插件既不能收到消息也不能自启动,就无法执行Tasker发出的命令.
    这个过程中Tasker仅仅做了一件事,发一条信息给插件;至于插件能不能收到信息,Tasker无法保证.
  2. 第三方应用
    在讲Tasker启动第三方应用之前,我们先来看看通常见到的情况是怎么样的.
    • a.在应用中的一个界面中点击一个按钮,跳转到该应用中的另一个界面.
    • b.在应用中的一个界面中点击一个按钮,跳转到第三方应用中的一个界面.
    • c.没有执行任何操作,应用自行跳出来.(比如在微信Windows客户端中点击登录按钮,手机微信自行跳出确认界面)

以抖音下载器这个配置为例:在抖音客户端界面复制到抖音短链接,Tasker检测到系统剪贴板发生变化,并且变量值符合条件约束,然后执行下载任务,ADM Pro开始下载抖音短视频.
这个过程中,如果 Tasker后置,ADM Pro 未运行,那么这种情形不符合上面的三种情形,此时ADM Pro便不能下载文件.

很多时候我们明明测试的没有问题,但是配置却运行不正常,也是这个原因:测试的时候Tasker前置,可以正常启动第三方应用程序,自动运行的时候Tasker后置,此时如果第三方应用未在后台运行,那么很可能无法正常启动应用.

所以,要想操作执行正常,对于插件来说,必须处于运行状态,因为即便Tasker前置,如果插件被系统杀死,也是无法正常执行操作的.
而对于第三方应用来说,Tasker前置,应用前置,应用后置,均可以让操作正常执行.大部分情况下无法简单判断程序是否后台运行,所以通常是让Tasker前置.

让Tasker前置的方法有两种:

  1. 使用启动应用程序这个操作来运行Tasker.
  2. 使用场景来模拟Tasker应用程序前置

如图所示创建配置

启动应用-Tasker

使用Tasker制作仿iOS7控制中心

现在越来越流行使用收拾来操作手机,通过系统手势或者第三方手势软件结合Tasker可以变得更加好玩。

场景是Tasker中一个重要的组成部分,可以很方便的做出来一个图形化控制界面。

本配置是一个仿iOS7控制中心的界面,尽可能的模仿了控制中心的交互。

制作过程分为三个步骤:1,场景制作 2,逻辑处理 3,触发设置

1. 场景制作:

因为本配置时模仿的,所以场景界面就不需要独自设计了,直接根据各个元素的样式和功能添加到场景就可以了

2. 逻辑处理:
- a. 初始化变量,定义和获取初始的变量值 

定义和获取初始的变量值
– b. 设置界面状态值与图标路径的对应关系
设置界面状态值与图标路径的对应关系
– c. 处理状态改变时的操作变化和状态显示
处理状态改变时的操作变化和状态显示

3. 触发设置: 在手势触发软件中设置运行Tasker任务

在手势触发软件中设置运行Tasker任务
演示视频

配置导入链接:https://taskernet.com/shares/?user=AS35m8kcE3fopVGguKw+JP1fYIWaL6G53enhFTrMP6xMnJawIbufv/cr1krqlca25FgFK7KKdWs=&id=Project:控制中心

本次制作基于 Android 9,emui,Tasker 9制作不同的使用环境,兼容性有所不同,所使用的操作不尽相同,望周知。

夜间关闭大部分的Tasker配置来节省电量

#夜间关闭大部分的Tasker配置来节省电量

不知道是什么原因最近Tasker的耗电量一直居高不下

因为Tasker内置了很多对Tasker自身的设置,比如: 禁用Tasker,禁用Tasker配置,设定Tasker偏好等等,通过这些操作都可以达到节省电量的目的;所以对自己的配置进行了定时管理,处于夜间的时候关闭大部分的配置以节省电量消耗。
设计配置非常简单,用Tasker本身的操作也不会很复杂。不过这里用JavaScript来代替处理逻辑部分。
以下参考图示即可自主完成操作

配置预览
禁用配置
禁用配置代码
在退出任务中设定原来的配置可用
退出任务的代码
附上配置连接:https://taskernet.com/shares/?user=AS35m8kcE3fopVGguKw{4746aa5fa3d870d47cdd6c6677da894fc4983e37a4bcf6fa0686a3fe0e16ddcc}2BJP1fYIWaL6G53enhFTrMP6xMnJawIbufv{4746aa5fa3d870d47cdd6c6677da894fc4983e37a4bcf6fa0686a3fe0e16ddcc}2Fcr1krqlca25FgFK7KKdWs{4746aa5fa3d870d47cdd6c6677da894fc4983e37a4bcf6fa0686a3fe0e16ddcc}3D&id=Profile{4746aa5fa3d870d47cdd6c6677da894fc4983e37a4bcf6fa0686a3fe0e16ddcc}3ATasker配置夜间关闭