You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native推送通知iOS正常Android无法弹出如何解决?

安卓端推送通知无法弹出解决方案

核心问题:未提前创建匹配的通知渠道

安卓8.0及以上系统要求发送通知前必须先创建对应ID的通知渠道,仅在发送通知时传channelId不会自动生成渠道,通知会被系统静默拦截。
在PushNotification配置代码后、应用启动时添加一次渠道创建逻辑即可:

// 与推送配置同层级,全局执行一次即可,不需要放在组件生命周期内
PushNotification.createChannel(
  {
    channelId: "specialid", // 必须和发送通知时的channelId完全一致
    channelName: "通用通知", // 会显示在系统应用通知设置的渠道列表中
    channelDescription: "应用普通消息通知",
    importance: 4, // 重要等级设为4才能弹出悬浮通知,等级过低只会在通知栏收纳
    soundName: "default",
    vibrate: true
  },
  (created) => console.log("渠道创建状态:", created)
)

其余需要检查的配置项

  • 安卓13+通知权限:如果测试设备系统版本为安卓13(API 33)及以上,需要在android/app/src/main/AndroidManifest.xml中添加运行时权限声明:
    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
    
  • 前台通知显示开关:你当前配置中com.dieam.reactnativepushnotification.notification_foreground值为false,表示应用在前台运行时不会弹出通知,测试时如果App处于前台,可以先将该值改为true验证
  • 通知颜色配置:你当前配置用了@color/white作为通知颜色,需要检查android/app/src/main/res/values/colors.xml中是否有对应色值声明,没有的话添加以下代码,或者直接将meta-data的resource值改为@android:color/white使用系统自带白色:
    <color name="white">#FFFFFFFF</color>
    
  • 配置生效验证:修改通知渠道相关配置后必须卸载原有应用再重装,安卓系统会缓存已创建的通知渠道,修改参数不会覆盖原有渠道配置

内容的提问来源于stack exchange,提问作者Jon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 06:54:05