如何更改反应本机推送通知状态栏图标?

And*_*dry 6 android push-notification react-native react-native-push-notification

我正在使用firebase并将react-native-push-notification通知推送到我的Android应用程序,并努力用我自己的图标更改小通知图标,并且有关此主题的任何线程似乎都没有帮助。ic_test.png我的文件夹中有以下元数据声明@mipmap,但 Android 清单中的这些元数据声明都不起作用:

1. xml <meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@drawable/ic_test" />

2. xml <meta-data android:name="com.dieam.reactnativepushnotification.notification_icon" android:resource="@mipmap/ic_test" />

不过,我可以通过添加元数据来更改图标的颜色:

<meta-data  
  android:name="com.dieam.reactnativepushnotification.notification_color"
  android:resource="@android:color/white"
/>
Run Code Online (Sandbox Code Playgroud)

情况:

在此输入图像描述

在此输入图像描述

有什么想法我可能在这里做错了吗?

编辑:

通过不在清单中设置任何图标元数据资源,使其适用于本地通知。我刚刚设置了以下元数据资源

<meta-data  
  android:name="com.dieam.reactnativepushnotification.notification_color"
  android:resource="@android:color/MY_COLOR"
/>
Run Code Online (Sandbox Code Playgroud)

更改图标的背景颜色。

另外,设置以下键值对

PushNotification.localNotification({...parameters, smallIcon: 'ic_test'});
Run Code Online (Sandbox Code Playgroud)

触发本地通知时。

编辑:

我正在使用Firebase Cloud Messaging 旧版 HTTP 协议,并将icon参数设置为"ic_test"似乎也不起作用。

小智 7

实际上,它显示为一个白色的空白方块,因为您处于开发模式,通过在生产模式下构建,您可以看到与应用程序图标完全相同的内容。

然而,如果你想成为你的偶像,你就应该关注material principles。然后使用此链接生成所有尺寸并输入图标名称ic_notification

然后将所有尺寸放入ic_notification以下地址:

android/app/main/res/mipmap
Run Code Online (Sandbox Code Playgroud)

并将以下行添加到AndroidManifest.xml文件中:

<meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@mipmap/ic_notification" />
Run Code Online (Sandbox Code Playgroud)

清理构建文件夹,清理缓存文件并使用yarn start --reset-cache,然后yarn android.

提示:如果您使用模拟器,请注意在模拟器高级选项中使用Cold Boot而不是使用。Quick Boot