Мне любопытно, почему метод setLargeIcon в Notification.Builder принимает только Bitmap, без перегрузки, чтобы предоставить идентификатор ресурса. Возможно, это было сделано по соображениям производительности, но кажется странным, поскольку setSmallIcon принимает идентификатор res drawable.Уведомления о сотах - Как установить largeIcon в нужный размер?
Notification.Builder builder = new Notification.Builder(application);
// ....
builder.setLargeIcon(iconBitmap); // Requires a Bitmap
builder.setSmallIcon(iconResId); // Requires a drawable resource ID
Notification notification = builder.getNotification();
К сожалению растровое предусмотрено не масштабируется в уведомлении, поэтому нуждается в Bitmap должны быть предоставлены точно правильный размер для представления уведомлений.
Предполагая, что мне нужно предоставить версии xhdpi, hdpi, mdpi и ldpi большого растрового изображения Icon, какие размеры они должны быть? Я не вижу никаких упоминаний в документах или после чистки более широкой сети.
А, это интересно. Знаете ли вы, в каких единицах находятся эти значения (17104902, 17104901)? –
Они скорее всего dp в xml. Когда вы используете ресурсы. getDimensionPixelSize() вы получите их в px. – alexanderblom
Спасибо, ребята. Это делает трюк красиво. Я полагаю, что для этого требуется Bitmap, а не resId, он предназначен для использования в социальных сетях, а лица людей обычно не будут распространяться вместе с приложением. width = res.getDimensionPixelSize (android.R.dimen.notification_large_icon_width) –