通知图标无法正常显示

时间:2018-05-07 14:19:13

标签: android push-notification

我正在尝试为我的应用设置新的通知图标,但我似乎无法使其正常工作。我收到通知,但是在状态栏中看到黑色/灰色圆圈而不是我的徽标,如下所示:

Status bar

我的MessageService看起来像这样:

public class MyMessagingService extends FirebaseMessagingService {

@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
    Intent intent = new Intent(this, MessageActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    intent.putExtra("notification_msg_id", remoteMessage.getData().get("my_msg_id"));

    PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_ONE_SHOT);

    NotificationCompat.Builder notificationBuilder
            = new NotificationCompat.Builder(this)
     .setContentTitle(remoteMessage.getNotification().getTitle())
     .setContentText(remoteMessage.getNotification().getBody())
     .setAutoCancel(true)
     .setSmallIcon(R.drawable.ic_stat_my_logo)
     .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher))
     .setColor(getResources().getColor(R.color.colorBlack))
     .setContentIntent(pendingIntent);

    NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

    notificationManager.notify(0, notificationBuilder.build());
}

}

我使用this(相当不错的)工具生成了小图标,您可以看到Android Studio能够找到所需尺寸的图像:

enter image description here

这是我的SDK版本:

used sdk versions

我之前读过,缓存可能存在一些问题,我已尝试使每个缓存无效并清理/构建项目。 我还尝试过不同的图像文件以及xml矢量drawables。

你们有什么想知道我做错了什么,或者我如何能够进一步解决这个问题?

提前致谢!

编辑:

这是我试图以xxxhdpi-v11格式使用的图标(它可能需要点击它才能看到它):

enter image description here

2 个答案:

答案 0 :(得分:0)

您在每个文件夹中都有相同的徽标名称,但通知图标必须为24x24 dp

答案 1 :(得分:0)

API 21及更高版本的通知图标必须完全为白色。试着用这个:

notification.setColor(getResources().getColor(R.color.notification_color));