我正在尝试为我的应用设置新的通知图标,但我似乎无法使其正常工作。我收到通知,但是在状态栏中看到黑色/灰色圆圈而不是我的徽标,如下所示:
我的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能够找到所需尺寸的图像:
这是我的SDK版本:
我之前读过,缓存可能存在一些问题,我已尝试使每个缓存无效并清理/构建项目。 我还尝试过不同的图像文件以及xml矢量drawables。
你们有什么想知道我做错了什么,或者我如何能够进一步解决这个问题?
提前致谢!
编辑:
这是我试图以xxxhdpi-v11格式使用的图标(它可能需要点击它才能看到它):
答案 0 :(得分:0)
您在每个文件夹中都有相同的徽标名称,但通知图标必须为24x24 dp
答案 1 :(得分:0)
API 21及更高版本的通知图标必须完全为白色。试着用这个:
notification.setColor(getResources().getColor(R.color.notification_color));