首页 > 解决方案 > 在应用程序运行时显示 React 本机 Firebase 通知

问题描述

我使用 react native firebase 5.6.0 制作了一个应用程序。我从 firebase 收到通知并用这段代码显示它们:

 this.notificationListener = firebase
  .notifications()
  .onNotification((notification: Notification) => {
    notification.android
      .setChannelId('channel')
      .android.setSmallIcon('ic_launcher')
      .android.setPriority(firebase.notifications.Android.Priority.Max)

      .android.setColor('#121243');

    firebase.notifications().displayNotification(notification);
  });

问题是即使应用程序处于前台并正在运行时也会显示推送通知。我希望它们仅在应用程序处于后台时显示。

标签: react-nativereact-native-firebase

解决方案


我已经使用 AppState 解决了这个问题

  this.notificationListener = firebase
  .notifications()
  .onNotification((notification: Notification) => {
if (AppState.currentState != 'active') {
    notification.android
      .setChannelId('channel')
      .android.setSmallIcon('ic_launcher')
      .android.setPriority(firebase.notifications.Android.Priority.Max)

      .android.setColor('#121243');

    firebase.notifications().displayNotification(notification);
}
  });

因此,如果应用程序处于活动状态,则不会显示通知。


推荐阅读