小米设备锁屏不显示React Native推送通知及无法唤醒问题咨询
react-native-push-notification 锁屏不显示、无法唤醒设备解决方案
你已经配置了priority: 'high'、visibility: 'public'、importance: Importance.HIGH仍存在问题,可按以下顺序排查修复:
安卓端核心修复点
- 修复通知渠道配置不生效问题
安卓8.0及以上版本的通知渠道一旦创建完成,后续代码修改渠道的优先级、可见性等参数不会生效,旧版本创建的低优先级渠道会一直沿用错误配置。
解决方法:- 直接卸载测试机上的App后重新安装,清空旧渠道配置;
- 或者修改代码中的
channelId为全新的字符串,创建新的符合配置的通知渠道,推送时必须指定这个新的channelId。
正确的渠道创建代码参考:
import PushNotification, { Importance } from 'react-native-push-notification'; PushNotification.createChannel( { channelId: "high-priority-channel-v2", // 更换为新的渠道ID channelName: "重要通知", importance: Importance.HIGH, visibility: 'public', priority: 'high', vibrate: true, playSound: true, soundName: 'default', }, (created) => console.log(`渠道创建状态: ${created}`) ); - 补充唤醒屏幕必填参数
你当前的配置缺少唤醒屏幕的核心字段,本地推送/推送配置中需要添加wakeScreen: true,收到通知时才会主动点亮屏幕。 - 检查系统级权限与限制
- 手动进入系统设置-应用通知设置页,确认App已开启「锁屏显示通知」「悬浮通知」「唤醒屏幕」权限,国产定制安卓系统(小米、华为、OPPO、vivo等)默认会关闭这几个权限,代码无法绕过该限制;
- 安卓13及以上版本需要动态申请
POST_NOTIFICATIONS运行时权限,未授予权限时通知展示行为会被系统限制; - 关闭系统对App的电池优化限制,将App加入后台运行白名单,避免系统后台拦截通知弹出。
iOS端核心修复点
- 确认通知权限申请时包含
alert、sound、badge三个核心权限,同时检查系统通知设置,确认App没有被关闭「锁定屏幕显示」权限; - 推送时不要使用静默通知配置(即payload不要带
content-available: 1标识),静默通知不会弹出提醒、不会唤醒屏幕; - 推送payload的
aps字段必须包含sound字段,部分iOS版本未配置声音时不会点亮屏幕提醒。
通用排查点
如果你通过FCM、华为推送、小米推送等三方服务端下发通知,需要确认服务端推送参数也设置为高优先级、公开可见,服务端参数优先级高于客户端本地配置,服务端下发低优先级通知时客户端配置无法生效。
内容的提问来源于stack exchange,提问作者Muhammad Muaz
相关产品推荐
相关产品推荐

