studio recordatorio notificaciones notificacion manager implementar developer despertador alarma android android-3.0-honeycomb android-notifications

recordatorio - notificaciones android studio 2018



Notificaciones Honeycomb-¿Cómo configurar largeIcon al tamaño correcto? (2)

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 recursos. Tal vez se hizo por razones de rendimiento, pero parece extraño, ya que setSmallIcon acepta una ID resitable.

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();

Lamentablemente, el mapa de bits proporcionado no está escalado en la notificación, por lo que el mapa de bits debe proporcionarse exactamente el tamaño correcto para la vista de notificación.

Suponiendo que necesito proporcionar las versiones xhdpi, hdpi, mdpi y ldpi del mapa de bits de largeIcon, ¿qué tamaños deben tener? No puedo ver ninguna mención en los documentos, o después de recorrer la red más amplia.



Usé las notification_large_icon_height para crear un mapa de bits escalado

BitmapDrawable contactPicDrawable = (BitmapDrawable) ContactsUtils.getContactPic(mContext, contactId); Bitmap contactPic = contactPicDrawable.getBitmap(); Resources res = mContext.getResources(); int height = (int) res.getDimension(android.R.dimen.notification_large_icon_height); int width = (int) res.getDimension(android.R.dimen.notification_large_icon_width); contactPic = Bitmap.createScaledBitmap(contactPic, width, height, false);

Y luego configuro el icono grande con esta bitamp escalada.