Me resulta curioso por qué el método setLargeIcon en Notification.Builder solo acepta un mapa de bits, sin sobrecarga para proporcionar una identificación de recurso. Tal vez se hizo por razones de rendimiento, pero parece extraño, ya que setSmallIcon acepta una ID resitable.Notificaciones Honeycomb - ¿Cómo configurar largeIcon al tamaño correcto?
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();
Por desgracia, el mapa de bits proporcionada no se escala en la notificación, por lo que el mapa de bits se debe proporcionar exactamente el tamaño correcto para la vista notificación.
Suponiendo que necesito proporcionar las versiones xhdpi, hdpi, mdpi y ldpi del mapa de bits largeIcon, ¿qué tamaños necesitan? No puedo ver ninguna mención en los documentos, o después de recorrer la red más amplia.
Ah, eso es interesante. ¿Sabes en qué unidades se encuentran esos valores (17104902, 17104901)? –
Lo más probable es que estén dp en el xml. Cuando usas Recursos. getDimensionPixelSize() los obtendrá en px. – alexanderblom
Gracias chicos. Esto hace el truco muy bien. Me imagino la razón por la que requiere un mapa de bits, no un servidor, está diseñado para el uso de redes sociales, y las caras de las personas normalmente no se distribuirán con la aplicación. width = res.getDimensionPixelSize (android.R.dimen.notification_large_icon_width) –