我正试图根据安卓端react原生项目中的有效负载更改使用的通知图标。这是有效载荷:
{"GCM": "{"notification": { "text": "text", "title": "Title", "icon":"ic_stat_logo", "color":"#FA8072"}}"}
然而,我得到的是,当应用程序在后台或关闭时,显示的通知图标是我提供的,但在前台,它会显示应用程序图标。
我试着看了一下文件,但找了很长时间都没有找到。这是安卓系统的限制吗?
还有清单:
<application
android:name=".MainApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:theme="@style/AppTheme"
android:usesCleartextTraffic="true"
android:requestLegacyExternalStorage="true"
android:largeHeap="true">
<meta-data
android:name="com.google.firebase.messaging.default_notification_channel_id"
android:value="@string/channel_id" />
<meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@mipmap/ic_notification" />
<meta-data android:name="com.dieam.reactnativepushnotification.notification_channel_name"
android:value="@string/channel_name"/>
<meta-data android:name="com.dieam.reactnativepushnotification.notification_channel_description" android:value="@string/channel_description"/>
<!-- Change the value to true to enable pop-up for in foreground (remote-only, for local use ignoreInForeground) -->
<meta-data android:name="com.dieam.reactnativepushnotification.notification_foreground"
android:value="true"/>
<!-- Change the resource name to your App's accent color - or any other color you want -->
<meta-data android:name="com.dieam.reactnativepushnotification.notification_color"
android:resource="@color/white"/> <!-- or @android:color/{name} to use a standard color -->
<receiver android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationPublisher" />
<receiver android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationBootEventReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
<service
android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationListenerService"
android:exported="false" >
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<activity
android:name=".MainActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode"
android:launchMode="singleTask"
android:fitsSystemWindows="true"
android:label="@string/app_name"
android:windowSoftInputMode="adjustPan"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
问题不是来自配置,而是来自库react-native-push-notification
,它没有考虑smallIcon
属性。