Android Oreo(API 26)の通知バーの小さなアイコンを変更するにはどうすればよいですか。通知バーに丸い白いアイコンが表示されます。変更するにはどうすればよいですか?マニフェストファイルデフォルトの通知アイコンは以下のように設定されています。
<meta-data
Android:name="com.google.firebase.messaging.default_notification_icon"
Android:resource="@drawable/ic_status" />
下の画像を参照してください
Firebase SDK11.8.0のバグAndroid 8.0(API 26)) があり、ステータスにアプリのランチャーアイコンの白いバージョンが表示されます通知アイコンの代わりにバー。
一部の人々はそれを ApplicationクラスのgetResources() メソッドをオーバーライドすることによって修正しました。
私のために働いた別の方法は、 HTTP POST request を使用して通知を データメッセージ として送信することでした:
https://fcm.googleapis.com/fcm/send
Content-Type:application/json
Authorization:key=AIzaSyZ-1u...0GBYzPu7Udno5aA
{
"to": "/topics/test",
"data": {
"title": "Update",
"body": "New feature available"
}
}
そして サブクラスFirebaseMessagingService プログラムで通知を表示するには:
public class MyFirebaseMessagingService extends FirebaseMessagingService {
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
Intent i = new Intent(context, HomeActivity.class);
PendingIntent pi = PendingIntent.getActivity(this, 0, i,
PendingIntent.FLAG_ONE_SHOT);
NotificationCompat.Builder builder =
new NotificationCompat.Builder(this, GENERAL_CHANNEL_ID)
.setSmallIcon(R.drawable.ic_stat_chameleon)
.setContentTitle(remoteMessage.getData().get("title"))
.setContentText(remoteMessage.getData().get("body"))
.setContentIntent(pi);
NotificationManager manager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
manager.notify(0, builder.build());
}
}
結局、Android 8.0: