Las notificaciones en Android permiten mostrar mensajes fuera de la interfaz de la aplicación e incluyen elementos como título, icono y texto. A partir de Android 4.1, algunas notificaciones pueden expandirse para mostrar más detalles. En versiones posteriores se añadieron diferentes tipos de prioridad de notificaciones y la clase Notification.Builder simplifica su creación fijando propiedades como icono, texto y acciones. Es importante establecer sonido, vibración o LED para avisar al usuario.
2. ¿Qué son las notificaciones?
Son mensajes que se muestran fuera de la
interfaz de la aplicación.
3. Sus elementos
1. Título de Contenido
2. Icono Principal
3. Texto de Contenido
4. Información de contenido
5. Icono pequeño
6. Hora
A partir de Android 4.1 algunas notificaciones pueden
expandirse
7. Detalle*
4. Notificaciones Expandidas
A partir de Jelly Bean tendremos a nuestra
disposición 3 nuevos tipos de notificaciones
5. Tipos de Notificaciones
A partir de Jelly Bean se agrega prioridades de 2 (normal y alta
prioridad) a tener 5:
Máxima: Cuando se requiera la intervención del usuario de forma
urgente
Alta: Para avisos importantes
Por defecto: Nivel de prioridad genérico. Las notificaciones para
versiones anteriores se equiparan con este nivel.
Baja: Para avisos poco importantes
Mínima: Para mostrar información de estado. Estas notificaciones no
llegan a mostrarse excepto en contadas ocasiones.
6. ¿Cómo crear una notificación?
Hay diferentes maneras de crear notificaciones
según la versión de SO.
El método mas sencillo es utilizando la clase
Notification.Builder, que esta disponible desde la
versión Honeycomb
private Notification getDefaultNotification(Notification.Builder builder) {
builder
.setSmallIcon(R.drawable.ic_launcher)
.setTicker("Optional ticker")
.setWhen(System.currentTimeMillis())
.setContentTitle("Default notification")
.setContentText("Lorem ipsum dolor sit amet, consectetur adipiscing elit.")
.setContentInfo("Info")
.setLargeIcon(bitmapIcon)
.setContentIntent(doIntent)
.setDeleteIntent(deleteIntent);
//return builder.build(); //A partir de Jelly Bean se usa éste método-
return builder.getNotification();
}
7. Sonido, Vibración y Led
Además de mostrar la información, avisar al
usuario es una parte importante.
Algunos teléfonos también tienen un led de
notificación que podemos usar
builder.setLights(Color.RED, 1, 0);
8. Notificaciones insistentes: se repiten indefinidamente son útiles
para casos de prioridad máxima como llamadas o alarmas.
notification.flags = notification.flags | Notification.FLAG_INSISTENT;
Notificaciones en curso: Se mantienen en la bandeja, se pueden
usar para indicar que hay un proceso ejecutándose en segundo
plano.
Se recomienda que una notificación se cancele automáticamente
cuando pulsamos sobre ella o darle al usuario la opción de
cancelarla
9. Fuentes y Links de interés
http://developer.android.com/guide/topics/ui/notifiers/notificat
ions.html
http://www.ingens-
networks.com/blog/post/2012/05/29/Notificaciones-Push-en-
Android-(Parte-I).aspx
http://www.ingens-
networks.com/blog/post/2012/06/01/Notificaciones-Push-en-
Android-(Parte-II).aspx
http://androcode.es/2012/09/notificaciones-metodo-
tradicional-notification-builder-y-jelly-bean/