Thanox 后台启动规则语法详解与实例
规则是什么
Thanox 的后台启动规则比应用列表的开关更精细。应用列表开关只能做到"全放行"或"全拦截",而规则可以做到:
- 只允许微信在后台被 QQ 启动,禁止被其他任何 app 启动
- 允许 Shell 启动 QQ,但不允许其他 app 启动 QQ
- 允许 Android 系统启动所有 app
规则语法结构
每条规则由三部分组成:
<行动> <调用方包名> <目标应用包名>
| 组成部分 | 可选值 | 说明 |
|---|---|---|
| 行动 | ALLOW / DENY | ALLOW = 允许,DENY = 拒绝 |
| 调用方 | 包名 / 代号 / * | 发起启动请求的那个 app |
| 目标应用 | 包名 / 代号 / * | 被请求启动的那个 app |
规则在启动时的优先级:DENY 规则 > 应用列表开关 > ALLOW 规则 > 默认允许。
角色代号
Thanox 提供了一些常用角色的代号,方便编写规则:
| 代号 | 含义 |
|---|---|
* | 通配符,匹配任意应用 |
SHELL | Shell 用户(adb 或命令行发起的启动) |
ROOT | Root 用户发起的启动 |
android | Android 系统本身(包名 android) |
规则实例
实例一:只允许 QQ 启动微信,禁止其他 app 启动微信
ALLOW com.tencent.qq com.tencent.mm
DENY * com.tencent.mm
注意顺序:DENY * com.tencent.mm 必须放在后面吗?其实 Thanox 内部有固定的优先级(DENY 优先于 ALLOW),所以顺序不影响最终结果,但建议 DENY 写在后面,阅读起来更自然。
实例二:允许 Shell 启动 QQ(方便自动化脚本)
ALLOW SHELL com.tencent.qq
实例三:允许 Android 系统启动所有 app
ALLOW android *
这条规则保证系统自身的组件(如电话、相机)不会被其他规则误拦截。
实例四:禁止任何 app 启动微信
DENY * com.tencent.mm
这是最粗暴的方式——微信永远不能被后台拉起,只能手动点开。
实例五:多条规则组合
# 允许 QQ 启动微信
ALLOW com.tencent.qq com.tencent.mm
# 允许 Shell 启动微信
ALLOW SHELL com.tencent.mm
# 禁止其他人启动微信
DENY * com.tencent.mm
# 允许系统启动所有应用
ALLOW android *
和应用列表开关的关系
规则和应用列表开关是两个独立的控制维度,优先级如下:
- 如果命中
DENY规则 → 必定拦截 - 如果目标 app 在开关里被关闭了(
BLOCKED_IN_BLOCK_LIST)→ 拦截 - 如果命中
ALLOW规则 → 允许 - 默认策略 → 允许
也就是说:DENY 规则 > 应用开关关闭 > ALLOW 规则 > 默认允许。
如何添加规则
在 Thanox → 后台启动 → 右上角菜单中找到"规则"或类似入口,点击"+"号添加新规则。Thanox 会提供一个简单的输入框或模板,让你填写行动、调用方、目标应用三个部分。
后台启动拦截部分结束。接下来进入运行时清理——Thanox 的另一大杀招。