通知同步
示例说明
演示手机端如何获取通知监听权限、筛选允许同步的应用,并把通知转发到眼镜端。
使用位置
手机端:
NotificationActivityMessageNotificationListenerService
眼镜端接收页:
glassdemo中的MessageReceiveActivity
适用端
- 手机端
- 眼镜端
关键文件
- glass3sdkphonedemo/app/src/main/java/com/rokid/phone/notification/NotificationActivity.kt
- glass3sdkphonedemo/app/src/main/java/com/rokid/phone/notification/service/MessageNotificationListenerService.kt
- glassdemo/app/src/main/java/com/rokid/glass/MessageReceiveActivity.kt
流程说明
- 手机端进入通知设置页。
- 检查通知监听权限是否已开启。
- 若未开启,引导用户跳到系统通知监听设置页。
- 读取本机应用列表并允许用户勾选可同步应用。
- 通知监听服务收到系统通知后,按配置决定是否转发。
- 眼镜端通过通知监听器接收通知消息。
实现说明
覆盖范围
两者都覆盖,但重点在前者:
- 手机端负责拿权限、筛选应用、拦截通知
- 眼镜端只是一个最小展示实现
权限为什么经常失败
通知监听不是普通运行时权限,它依赖系统设置授权,所以要同时考虑:
- 是否开启了通知监听服务
- 页面上记录的业务开关是否打开
注意事项
- 页面中有“全量应用通知开关”和“仅锁屏时通知”配置。
- 如果通知监听未开启,页面会主动引导授权。