Thanox 后台启动记录与拦截原因查看
怎么看启动记录
进入 Thanox → 后台启动,点击右上角菜单可以查看启动记录。点击记录列表中间的大数字,可以进入启动记录详情页面。
记录里有什么
每条启动记录会显示:
- 目标应用:被请求启动的那个 app
- 调用方:发起启动请求的那个 app
- 处理结果:Allowed(允许)或 Blocked(阻止)
- 处理原因:
BYPASS_XXX(允许原因)或BLOCKED_XXX(阻止原因)
允许原因(BYPASS)对照表
| 原因代码 | 含义 |
|---|---|
BYPASS_WHITE_LISTED | 目标应用为白名单应用 |
BYPASS_CALLER_WHITE_LISTED | 调用方应用为白名单应用 |
BYPASS_ACCESSIBILITY_SERVICE | 目标应用开启了辅助功能服务 |
BYPASS_BAD_ARGS | Thanox 内部出问题了,那就允许吧(异常兜底) |
BYPASS_START_BLOCKED_DISABLED | 没打开后台启动功能的总开关,当然允许 |
BYPASS_UI_PRESENT | 目标应用正在前台展示,要允许 |
BYPASS_DEFAULT_IME_SERVICE | 目标应用是默认输入法,要允许 |
BYPASS_PROCESS_RUNNING | 目标应用已经在运行中,要允许 |
BYPASS_SAME_CALLING_UID | 应用自己调用自己的组件(说明已经在运行),要允许 |
BYPASS_SMS_APP | 短信应用,特殊处理 |
BYPASS_USER_RULE | 由于你设置的后台启动规则而允许 |
BYPASS_DEFAULT | 未命中任何分支,默认为允许 |
阻止原因(BLOCKED)对照表
| 原因代码 | 含义 |
|---|---|
BLOCKED_STRUGGLE | 目标应用刚被杀死,短时间内再次启动被阻止(对抗"黑科技"的手段) |
BLOCKED_IN_BLOCK_LIST | 目标应用被你关闭了后台启动开关 |
BLOCKED_COMPONENT_IS_DISABLED | 要启动的组件(某个 Service / BroadcastReceiver)已经被禁用 |
BLOCKED_STANDBY | 目标应用被开启了乖巧模式 |
BLOCKED_USER_RULE | 由于你设置的后台启动规则而阻止 |
BLOCKED_BLOCK_API | 通过 block API(情景模式等途径)主动阻止 |
最常见的几种原因
日常使用中,你大概率会遇到这几种:
BLOCKED_IN_BLOCK_LIST:你关掉了这个 app 的开关,这是预期行为BLOCKED_STRUGGLE:刚杀掉的 app 又尝试自启,Thanox 短时间内不让它启动——很有针对性BYPASS_UI_PRESENT:目标 app 正在前台,此时当然允许BYPASS_PROCESS_RUNNING:目标 app 已经在后台运行了,不会重复启动
原因排查实战
问题:我关掉了某 app 的后台启动,但它还是会被拉起,启动记录显示 BYPASS_UI_PRESENT。
解答:BYPASS_UI_PRESENT 的意思是该 app 正在前台展示时,允许它的启动请求。如果你不想在任何情况下允许这个 app 被拉起,需要用启动规则来精确控制——详见启动规则语法与角色代号。
问题:某个 app 被频繁的 BLOCKED_STRUGGLE 阻止,但它不停地重试。
解答:BLOCKED_STRUGGLE 是 Thanox 的反重试机制——刚被杀掉的 app 在短时间内(通常几秒)会被拒绝任何启动请求。如果这个时间太短,可能 app 在 struggle 窗口过后又发起启动。可以考虑用规则来加一道保险。
下一页:启动规则语法与角色代号,用规则实现"只允许微信被 QQ 启动但禁止被其他 app 启动"这种精准控制。