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

React Native推送通知操作按钮点击时如何调用对应处理函数

React Native 推送通知操作按钮点击事件处理方案

你使用的react-native-push-notification库会在用户点击通知操作按钮时,将按钮标识传入你配置的onNotification回调中,通过判断回调参数的action字段即可触发对应逻辑。

你当前代码存在两个冗余写法,可以先修正:

  • configure方法中重复定义了requestPermissions属性,保留requestPermissions: Platform.OS === 'ios'即可,删除多余的requestPermissions: true
  • givenotification方法中重复定义了message属性,删除多余的重复定义即可

完整修改后的代码实现

import PushNotification from 'react-native-push-notification';
import { Platform } from 'react-native'; // 记得导入Platform依赖

function configure() {
  PushNotification.configure({
    onNotification: function (notification) {
      console.log('NOTIFICATION:', notification);
      // 核心逻辑:判断用户点击的操作按钮
      if(notification.action === "Yes"){
        // 替换为点击Yes按钮的实际业务逻辑
        console.log("用户触发Yes操作");
      } else if(notification.action === "No"){
        // 替换为点击No按钮的实际业务逻辑
        console.log("用户触发No操作");
      } else {
        // 替换为点击通知主体区域的业务逻辑
        console.log("用户点击通知主体");
      }
      // 所有逻辑处理完成后再调用finish方法
      notification.finish();
    },
    permissions: {
      alert: true,
      badge: true,
      sound: true,
    },
    popInitialNotification: true,
    requestPermissions: Platform.OS === 'ios',
    'content-available': 1,
  });
}
function givenotification(title, message) {
  PushNotification.localNotification({
    channelId: 'channel',
    title: title,
    message: message,
    actions: ["Yes", "No"],
    // 可选配置:点击按钮后自动消除通知
    autoCancel: true
  });
}

注意事项

  • 安卓端需要提前正确创建通知渠道,不要限制通知操作权限,否则按钮无法正常显示
  • 如果需要在APP完全关闭的状态下也能响应按钮点击,需要在应用初始化入口(如index.js)就调用configure方法,不要等页面渲染后再初始化
  • iOS端需要在Xcode中开启通知操作相关权限,以及后台模式的远程通知配置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 03:39:03