如何更改本机推送通知状态栏图标?
Posted
技术标签:
【中文标题】如何更改本机推送通知状态栏图标?【英文标题】:How to change react native push notifications status bar icon? 【发布时间】:2021-01-20 23:58:21 【问题描述】:我正在使用 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"
/>
情况:
有什么想法我在这里可能做错了吗?
编辑:
通过不在清单中设置任何图标元数据资源,使其适用于本地通知。我只是设置了以下元数据资源
<meta-data
android:name="com.dieam.reactnativepushnotification.notification_color"
android:resource="@android:color/MY_COLOR"
/>
改变图标的背景颜色。
另外,设置如下键值对
PushNotification.localNotification(...parameters, smallIcon: 'ic_test');
触发本地通知时。
编辑:
我正在使用Firebase Cloud Messaging legacy HTTP protocol 并将icon
参数设置为"ic_test"
似乎也不起作用。
【问题讨论】:
【参考方案1】:实际上,它显示为一个白色的空白方块,因为您处于开发模式,通过在生产模式下构建,您可以看到与您的应用图标完全一样的东西。
但是,如果您想制作自己的图标,请关注 material principles
。然后使用this link生成所有尺寸并输入图标名称ic_notification
。
然后把所有尺寸ic_notification
放到以下地址:
android/app/main/res/mipmap
并且将以下行添加到AndroidManifest.xml
文件中:
<meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@mipmap/ic_notification" />
清理构建文件夹,清理缓存文件并使用yarn start --reset-cache
,然后使用yarn android
。
提示:如果您使用的是模拟器,请注意在您的模拟器高级选项中使用Cold Boot
而不是Quick Boot
。
【讨论】:
清理构建文件夹和缓存 + 冷启动真的做到了,感谢 m8!以上是关于如何更改本机推送通知状态栏图标?的主要内容,如果未能解决你的问题,请参考以下文章