Notificaciones tipo cortina superior deslizante

=Introducción= Las notificaciones de este tipo son las que aparecen en la barra superior junto con los mensajes de las demás aplicaciones, como de mensajería(WhatsApp), redes sociales(Twitter, Instagram), y que muestran un mensaje bien resumido de alguna notificación de la aplicación a la cual pertenecen.

Implementación de la funcionalidad
Tenemos implementado esta función como un servicio periódico, para que cada tanto, le envié un mensaje al usuario y que no se olvide de usar la App. Esta por lo tanto el archivo dentro del paquete service. El documento Java es TestServiceNotification.java y es el encargado de mostrar esta notificación en la cortina superior deslizante. La función principal es notificationBuilder, esta se encarga de construir la notificación, pero es media larga así que vamos por parte: En la primera parte, se coloca el icono que tendrá acompañando a al notificación junto al mensaje, y hacia adonde se dirigirá una vez que el usuario apriete el botón. setNotificationIconId(R.drawable.ic_mboehao); String message; message = getString(R.string.notification_message); Intent dailyIntent; if(ParseUser.getCurrentUser != null){ dailyIntent = new Intent(this, HomeActivity.class); }else{ dailyIntent = new Intent(this, LoginActivity.class); } Segunda parte,se le agregan las banderas, al Intent, que sera llamado al abrir la notificación. Para el uso de una notificación es necesario contar con un PendingIntent, dailyIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); dailyIntent.putExtra(Constants.FROM_BACKGROUND_SERVICE, true); PendingIntent notifyPendingIntent = PendingIntent.getActivity(                       this,                        Constants.NOTIFICATION_ID,                        dailyIntent,                        PendingIntent.FLAG_CANCEL_CURRENT                ); Como ultimo paso, se contruye la notificacion en si, colocándole todos los elementos previamente definidos en los dos pasos anteriores. NotificationCompat.Builder builder = new NotificationCompat.Builder(this); builder.setContentTitle(getString(R.string.notification_title)) .setContentText(message) .setSmallIcon(getNotificationIconId) .setAutoCancel(true);

builder.setVibrate(pattern);

builder.setContentIntent(notifyPendingIntent); NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); mNotificationManager.notify(Constants.NOTIFICATION_ID, builder.build);