Notificaciones

Notificaciones

  • Elemento de la interfaz que nos permite
    notificar al usuario
  • No depende de la Activity, se pueden lanzar
    en cualquier momento.
  • Android nos propociona varios tipos
    • Toast
    • SnackBar
    • De estado  

Toast

  • Notificaciones fugaces
  • Solo se muestra una simultáneamente
  • Se van apilando

 

//Forma de uso 1:
Context context = getApplicationContext();
CharSequence text = "Ha pasado algo bueno!";
int duration = Toast.LENGTH_SHORT; //También puede ser Toast.LENGTH_LONG;

Toast toast = Toast.makeText(context, text, duration);
toast.show();

//Forma de uso 2
Toast.makeText(context, text, duration).show();

//Ejemplo tipico en debug
Toast.makeText(getApplicationContext(), "Uff", Toast.LENGTH_LONG).show();

SnackBar

  • Nuevos "toast", más potentes: permiten añadir una acción
  • Requieren el uso de Android dessign support library
  • Materials
// En build.gradle (app)
dependencies {
    .
    compile 'com.android.support:design:22.2.0'
    .
}
// parentLayout: ViewGroup donde lo queremos mostrar
// R.string.snackbar_text texto a mostrar definido en strings.xml
Snackbar
  .make(parentLayout, R.string.snackbar_text, Snackbar.LENGTH_LONG)
  .setAction(R.string.snackbar_action, myOnClickListener)
  .show(); // Importante!!! No olvidar mostrar la Snackbar.

Notificación de estado

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nec metus justo. Aliquam erat volutpat.

Mostrar notificación de estado

Para mostrar una notificación de estado debemos hacerlo mediante el notificationManager

  1. Instanciamos el Notification Manager
  2. Inicializamos nuestra notificación (mediante un builder)
  3. Definimos el mensaje y el intent a ejecutar (Pending Intent)
  4. Pasamos la notificación al manager
  5. Se muestra al usuario

Ejemplo (basica)

//Instanciamos Notification Manager 
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

// Para la notificaciones, en lugar de crearlas directamente, lo hacemos mediante 
// un Builder/contructor.
NotificationCompat.Builder mBuilder =
        new NotificationCompat.Builder(this)
        .setSmallIcon(R.drawable.notification_icon)
        .setContentTitle("Notificación")
        .setContentText("Bienvenidos a los mundos de Yupi!!");
// Creamos un intent explicito, para abrir la app desde nuestra notificación
Intent resultIntent = new Intent(getApplicationContext(), YupiActivity.class);


mBuilder.setContentIntent(resultPendingIntent);
NotificationManager mNotificationManager =
    (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

// mId es un identificador que nos permitirá actualizar la notificación 
// más adelante
mNotificationManager.notify(mId, mBuilder.build());

Notificaciones

By hussein

Notificaciones

  • 757