Eliminación de la notificación después de hacer clic

Acabo de empezar a trabajar con las notificaciones y ahora estoy tratando de eliminar la notificación y lanzar la aplicación una vez que la notificación ha sido aprovechado en el centro de notificación.

He intentado trabajar con el código siguiente:

import android.app.NotificationManager; public class ExpandNotification { private int NOTIFICATION = 546; private NotificationManager mNM; public void onCreate() { mNM.cancel(NOTIFICATION); setContentView(R.layout.activity_on); //Toast.makeText(this, "stopped service", Toast.LENGTH_SHORT).show(); } 

Creo que este código ejecuta la otra clase cuando se hace tapping?

 PendingIntent contentIntent = PendingIntent.getActivity(this, REQUEST_CODE, new Intent(this, ExpandNotification.class), 0); 

Sin embargo, la notificación no desaparece, ni se inicia la aplicación. Pero soy capaz de deslizarlo a izquierda o derecha para eliminarlo, pero eso no es lo que quiero ..

Utilice el indicador Notification.FLAG_AUTO_CANCEL

 Notification notification = new Notification(icon, tickerText, when); notification.setLatestEventInfo(context, contentTitle, contentText, pendingIntent); // Cancel the notification after its selected notification.flags |= Notification.FLAG_AUTO_CANCEL; 

Y para iniciar la aplicación:

 NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); // Create a new intent which will be fired if you click on the notification Intent intent = new Intent(context, App.class); // Attach the intent to a pending intent PendingIntent pendingIntent = PendingIntent.getActivity(context, intent_id, intent, PendingIntent.FLAG_UPDATE_CURRENT); 

Si ayuda a alguien: Para obtener el mismo efecto utilizando Notification.Builder o NotificationCompat.Builder llame a setAutoCancel(true) en la instancia de Builder.

Esta respuesta es demasiado tarde pero especialmente escribo la siguiente solución porque el constructor de notificaciones se vuelve obsoleto para utilizar la notificación mediante el constructor, como a continuación:

  **.setAutoCancel(true)** is used to remove notification on click 

Y la notificación entera es como follwoing:

  private void makeNotification(String title,String msg){ Intent resultIntent = new Intent(this, MasterActivity.class); PendingIntent resultPendingIntent = PendingIntent.getActivity( this, 0, resultIntent, PendingIntent.FLAG_UPDATE_CURRENT ); NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this) .setContentIntent(resultPendingIntent) .setSmallIcon(R.drawable.ic_launcher) .setContentTitle(title) .setAutoCancel(true) .setContentText(msg); int mNotificationId = 001; NotificationManager mNotifyMgr = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); mNotifyMgr.notify(mNotificationId, mBuilder.build()); } 

Llamando a este método con el título y el mensaje que recibe notificación perfecta.

La manera mejor y simple se establece builder.setAutoCancel(true) es cancelar su notificación después de hacer clic en la notificación. Espero que este código le ayude.

Generador para la notificación

 NotificationCompat.Builder builder = new NotificationCompat.Builder(this); builder.setSmallIcon(android.R.drawable.btn_star); builder.setContentTitle("This is title of notification"); builder.setContentText("This is a notification Text"); builder.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher)); 

Para abrir una actividad al hacer clic en la notificación

 Intent intent = new Intent(Broadcastdemo.this, ThreadDemo.class); PendingIntent pendingIntent = PendingIntent.getActivity(this, 113,intent, PendingIntent.FLAG_UPDATE_CURRENT); builder.setContentIntent(pendingIntent); builder.setAutoCancel(true); 

Mostrar bulder en la notificación

 NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); manager.notify(114, builder.build()); 

Código completo para mostrar una notificación con icono, imagen, título, descripción, cancelación automática y haga clic en abrir una actividad

 public void ShowIntentNotification(View v) { NotificationCompat.Builder builder = new NotificationCompat.Builder(this); builder.setSmallIcon(android.R.drawable.btn_star); builder.setContentTitle("This is title of notification"); builder.setContentText("This is a notification Text"); builder.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher)); Intent intent = new Intent(Broadcastdemo.this, ThreadDemo.class); PendingIntent pendingIntent = PendingIntent.getActivity(this, 113,intent, PendingIntent.FLAG_UPDATE_CURRENT); builder.setContentIntent(pendingIntent); builder.setAutoCancel(true); NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); manager.notify(114, builder.build()); } 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.