react-native - 在应用程序运行时显示 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);
});
问题是即使应用程序处于前台并正在运行时也会显示推送通知。我希望它们仅在应用程序处于后台时显示。
解决方案
我已经使用 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);
}
});
因此,如果应用程序处于活动状态,则不会显示通知。
推荐阅读
- python - 如何读取目录的子文件夹并在 django 视图中写入文本文件
- android - 使用 Delphi XE 10.3 Rio 在 Android 上更改推送通知中的小图标
- c++ - 从 dll 导出信息并创建类的实例
- php - 如何使用 Laravel Socialite 链接社交媒体帐户
- python-3.x - 如何通过在 Windows 中选择 anaconda 或 Python 从命令提示符运行 Python 文件?
- json - 可以向 JSON Patch 文档添加额外的属性吗?
- reactjs - 如何在 react 中使用 graphene-django 和 axios 将图像上传到我的服务器?
- java - 如何更新回收站视图中的列表
- bash - 你能在 bash 中运行一半脚本,另一半在期望中运行吗
- c++ - 什么是 GIMP 阈值算法?