rotation 中文文档 下载 App

应用规则 vs 事件条件:谁优先?

为什么会有优先级冲突

Rotation 有三套东西能同时影响屏幕方向:

  1. 全局方向模式(主界面直接选的那个)
  2. 应用规则(给每个 App 单独设的)
  3. 事件条件(通话、充电、插耳机等触发的)

三者同时生效时,必须有一套优先级规则来决定"听谁的"。

默认优先级

从高到低:

应用规则 > 事件条件 > 全局方向模式

也就是说:

可以改吗

部分版本的 Rotation 允许在事件条件 → 事件优先级里调整不同事件之间的顺序。但"应用规则 > 事件条件"这个大方向框架是固定的——应用规则就是要最高优先,因为它是"你明确为这个 App 指定的行为"。

一个具体例子

你给高德地图设了"锁定当前"(应用规则),同时正在打电话(事件条件设了"通话时强制竖屏")。

进入高德导航后打电话——地图继续保持你之前锁的方向,不会被通话事件切走。因为应用规则优先级最高。

如果想让事件条件压过应用规则

Rotation 没有直接提供"事件条件 > 应用规则"的切换。但你可以:

小结

冲突场景默认结果
应用规则 vs 事件条件应用规则胜出
事件条件 vs 全局模式事件条件胜出
多事件同时触发按事件优先级设定决定