Thanox 中文文档 下载 App

Thanox 创建情景模式:从零开始写第一条规则

目标:写一条能跑通的入门规则

这里写一个最简单但实用的规则:当你切换前台应用时,Toast 显示当前应用的包名。

这条规则主要用于调试——你可以在切换 app 时随时看到当前 app 的包名,对写其他规则很有帮助。

步骤一:打开情景模式编辑器

Thanox → 情景模式(Profile),点击 "+" 新建模式。Thanox 提供了两种编写方式:

推荐 JSON 方式,因为更灵活,也更容易分享和备份。

步骤二:写 JSON

复制下面的 JSON 代码粘贴进去:

[
  {
    "name": "Front Pkg Toast",
    "description": "应用切换时,显示当前前台应用的包名",
    "priority": 2,
    "delay": 0,
    "condition": "frontPkgChanged == true",
    "actions": [
      "ui.showShortToast(activity.getFrontAppPackage());"
    ]
  }
]

步骤三:保存并启用

保存后,这条规则就生效了。此时每当你切换一个 app(比如从桌面打开微信,或从微信切到浏览器),屏幕底部都会弹出一个 Toast,显示类似:

com.tencent.mm

参数逐个解释

name

"name": "Front Pkg Toast"

规则名称,英文(官方文档提示:多个模式不能重名,否则会被覆盖)。随便起,自己能认出来就行。

description

"description": "应用切换时,显示当前前台应用的包名"

任意描述。写中文英文都可以,纯备注用。

priority 和 delay

"priority": 2,
"delay": 0

condition

"condition": "frontPkgChanged == true"

触发条件。frontPkgChanged 是 Thanox 在应用切换时发布的 facts 参数,类型是 Boolean。这条条件的意思是:"当应用切换这个事件发生时(frontPkgChanged == true)"。

条件使用 MVEL 表达式语法,支持 ==、!=、&&(与)、||(或)、括号等。

actions

"actions": [
  "ui.showShortToast(activity.getFrontAppPackage());"
]

执行动作列表。每个动作是一条 MVEL 调用。这里调用了:

两条可以嵌套——把 activity.getFrontAppPackage() 的返回值作为参数传给 ui.showShortToast()。

语法注意:双引号要转义

如果你的 action 里需要用到字符串参数,双引号必须用 \ 转义:

"actions": [
  "ui.showShortToast(\"正在杀死微信\");"
]

这是因为 JSON 字符串本身也是用双引号包围的,里面的双引号必须转义。

下一步

现在你能跑通一条最简单的规则了。接下来进入 Facts 触发条件大全 和 Handle 动作能力大全,了解 Thanox 到底能监听哪些事件、能做哪些事情。


小提示:情景模式规则引擎的官方文档写得非常详细,本文的 facts 和 handle 页面整理了最常用的部分。完整列表请参考 Thanox 官方的情景模式文档。