在Tasker中延长“等待”命令时间的方法探索

99次阅读
没有评论

任务器中如何延长“等待”命令的时间***

问题描述

提问者是一位新手用户,在使用 tasker 创建一个针对应用程序(音乐)的自动化任务时,遇到了一个问题。他希望在按下 notification 的相应按钮后添加额外等待时间,比如5分钟或30分钟后再执行下一步操作。但是他在当前设置中未能达到此目的。

解决方案

方法一:直接增加等待时间

在原有的 profile 中,已经设置了 5 分钟的等待时间和 30 分钟的等待时间。为了延长等待时间,可以调整这些等待步骤的时间间隔。

修改前:

Profile: App (Music)
Task:
T1: Notify*
Actions A1: Wait 5 minutes, A2: Wait 30 minutes

修改后:
– 延长 A1 中的等待时间为所需分钟数,例如改为 Wait 10 minutes
– 调整 T1 和下一个动作之间的间隔时间,确保总等待时间为期望值

示例调整后的代码:

Profile: App (Music)
Task:
T1: Notify*
Actions A1: Wait 15 minutes, A2: Wait 45 minutes

以上修改可以使任务在按下按钮后总共等待 60 分钟再继续下一步操作。

方法二:使用条件语句

如果需要根据特定条件来动态调整等待时间,可以考虑通过添加一个条件步骤(例如 Condition)来实现。

示例:

Profile: App (Music)
Task:
T1: Notify*
Actions A1: Wait 5 minutes,
Condition C1: (True) -> Execute T2, Condition C2: (False) -> Skip to T3
T2: Wait 5 additional minutes on a specific condition
T3: Media Control* Cmd: Pause
    App: Music

在这个例子中,Wait 5 additional minutes 是可选择地执行。C1 可以根据实际情况设置为 (True: Device Time >= xx),以便在达到一定时间后等待额外五分钟。

方法三:使用脚本动态控制等待时间

对于更复杂的逻辑处理,可以考虑编写自定义脚本来实现动态的等待时间控制。Tasker 支持创建和导入 JavaScript 脚本。

示例脚本

// 这里是延时函数的实现
function delay(milliseconds) {
    return new Promise(resolve => setTimeout(resolve, milliseconds));
}

// 使用延时执行任务的部分代码
profile.Triggers[0].ExecuteTask.Actions[0] = function() {
    console.log("Starting the delayed action.");
    Tasker.ShowNotification("Starting Delay", "Delay started on App (Music).", 15);

    // 延迟动作开始,这里设置延迟时间为 35 分钟
    delay(210000).then(() => {
        profile.Triggers[0].ExecuteTask.Actions[1] = function() {
            Tasker.MediaControlPause("Music");
        };
    });

    // 可以根据实际情况调整延时时间
    return undefined;
};

注意事项
– 需要手动将脚本导入 tasker 中,具体步骤参见:脚本 -> 导入 JavaScript
– 确保在 import 的 xml 项目文件中正确引用该脚本。

总结来说,可以通过调整内置等待任务的时间参数或使用条件步骤以及自定义脚本来满足问题需求。上述示例可以为新手用户提供一个参考框架来根据具体需求进行开发与调试。

希望通过这些方法能帮助提问者解决问题!如果有其它不清楚的地方欢迎继续交流讨论。

正文完