Thanox 中文文档 下载 App

Thanox 情景模式系统事件 Facts:屏幕、电量、蓝牙、WiFi

屏幕状态

Facts 参数类型含义
screenOnBoolean亮屏事件(屏幕从熄灭变为点亮)
screenOffBoolean灭屏事件(屏幕从点亮变为熄灭)
userPresentBoolean解锁事件(用户解锁设备)

条件示例

# 息屏时触发清理
screenOff == true

# 解锁时触发
userPresent == true

# 亮屏 5 分钟后(需要配合其他逻辑)
screenOn == true && ...

电量变化

Facts 参数类型含义
batteryChangedBoolean电量发生变化
batteryLevelint当前电量百分比(0~100)
isChargingBoolean是否正在充电
isAcChargeBoolean是否为 AC 交流电充电
isUsbChargeBoolean是否为 USB 充电

条件示例

# 电量低于 20%
batteryChanged == true && batteryLevel <= 20 && !isCharging

# 开始充电时
batteryChanged == true && isCharging == true && isAcCharge == true

蓝牙事件

Thanox 提供了蓝牙状态和连接状态的丰富 facts:

蓝牙开关状态

Facts 参数类型含义
btStateChangedBoolean蓝牙开关状态发生变化
btStateOffBoolean蓝牙已关闭
btStateTurningOffBoolean蓝牙正在关闭
btStateOnBoolean蓝牙已开启
btStateTurningOnBoolean蓝牙正在开启

蓝牙连接状态

Facts 参数类型含义
btConnectionStateChangedBoolean蓝牙连接状态发生变化
btConnectionStateConnectedBoolean蓝牙已连接
btConnectionStateConnectingBoolean蓝牙正在连接
btConnectionStateDisconnectedBoolean蓝牙已断开
btConnectionStateDisconnectingBoolean蓝牙正在断开

蓝牙设备列表

Facts 参数类型含义
btBoundedDevicesList\<BluetoothDevice\>已绑定的蓝牙设备列表(完整对象)
btBoundedDeviceAddressesList\<String\>已绑定设备的 MAC 地址列表
btBoundedDeviceAliasNamesList\<String\>已绑定设备的别名列表
btBoundedDeviceBatteryLevelList\<Int\>已绑定设备的电量百分比

实战示例:蓝牙连接到某耳机时降低音量

[
  {
    "name": "BT Headset Volume Down",
    "description": "连接到指定蓝牙耳机时降低媒体音量",
    "priority": 2,
    "condition": "btConnectionStateChanged == true && btConnectionStateConnected == true && btBoundedDeviceAliasNames.contains(\"MDR-XB650BT\")",
    "actions": [
      "ui.showShortToast(\"已连接 MDR-XB650BT\");"
    ]
  }
]

注意:List.contains() 是 MVEL 的集合操作,可以检查 List 中是否包含某元素。


WiFi 状态变化

Facts 参数类型含义
wifiStateChangedBooleanWiFi 状态已变化
wifiStateWifiStateWiFi 状态对象

WifiState 对象包含:

字段类型含义
enabledBooleanWiFi 是否开启
statusLabelString状态信息(如 "No network")
ssidString当前连接的 SSID(如 "ChinaNet-d2Xq-5G")

条件示例

# 切换到指定 WiFi 时
wifiStateChanged == true && wifiState.enabled == true && wifiState.ssid == "HomeWiFi"

系统启动

Facts 参数类型含义
systemReadyBooleanAndroid 系统启动完成

适合写"开机自动执行"类的规则。


Facts 组合使用

MVEL 支持标准的逻辑运算,可以把多个 facts 组合成复杂条件:

# 息屏 + 非充电状态 + 电量低于 30% —— 执行省电动作
screenOff == true && !isCharging && batteryLevel <= 30

# 前台应用是某支付 app + WiFi 已连接 —— 安全场景提示
frontPkgChanged == true && to == "com.example.payment" && wifiState.enabled == true

组合条件让情景模式能实现非常精细的触发逻辑——这是 Thanox 规则引擎的核心优势之一。