Android 13下adb shell dumpsys alarm输出新增字段及Alarm Clock解读
Android 13
dumpsys alarm 新增字段解析 1. flags字段
这个字段是闹钟的行为标记位,用十六进制表示,每一位对应一种权限或特性:
0x1:FLAG_WAKE_FROM_IDLE,允许闹钟从设备空闲状态唤醒系统0x2:FLAG_ALLOW_WHILE_IDLE,允许闹钟在设备处于空闲省电模式时触发- 示例中的
0x3是0x1 | 0x2的组合,说明这个闹钟既可以唤醒空闲的设备,也能在空闲模式下正常触发
2. device_idle 与 battery_saver 字段
这两个字段属于policyWhenElapsed行的策略调整记录:
--表示当前没有因为对应的省电策略(设备空闲/省电模式)修改闹钟的触发时间- 如果显示具体时长(比如
-30s),则代表因为该策略,闹钟被延迟了对应时长触发;若为+10s则表示提前触发(这种情况极少)
3. Alarm Clock模块
这个模块是系统为闹钟类应用(比如示例中的DeskClock)专门添加的配置项,包含以下内容:
triggerTime:闹钟的触发绝对时间,和origWhen一致,是用户设置的闹钟时间showIntent:闹钟触发时用来启动前台提醒界面的PendingIntent,比如弹出闹钟弹窗、显示时钟界面operation:闹钟触发时执行的广播PendingIntent,用来触发闹钟铃声、更新闹钟状态等后台逻辑idle-options:空闲模式下的临时权限配置:android.pendingIntent.backgroundActivityAllowed=false:禁止应用在后台启动Activity,只能通过showIntent的前台方式唤起界面android:broadcast.temporaryAppAllowlistDuration=10000:允许应用在闹钟触发后,临时加入系统白名单10秒(10000毫秒),避免被空闲省电策略限制android:broadcast.temporaryAppAllowlistReasonCode=301:表示临时白名单的原因是闹钟触发(系统定义的固定编码)
内容的提问来源于stack exchange,提问作者Shaul
相关产品推荐
相关产品推荐

