notifications personalizzare stato - Android: rimuovere la notifica dalla barra di notifica





5 Answers

Puoi provare questo codice veloce

public static void cancelNotification(Context ctx, int notifyId) {
    String ns = Context.NOTIFICATION_SERVICE;
    NotificationManager nMgr = (NotificationManager) ctx.getSystemService(ns);
    nMgr.cancel(notifyId);
}
notifiche togliere orologio

Ho creato un'applicazione e con un evento riesco ad aggiungere notifiche nella barra delle notifiche di Android. Ora ho bisogno di esempio come rimuovere quella notifica dalla barra di notifica su un evento ??




imposta semplicemente setAutoCancel (True) come il seguente codice:

Intent resultIntent = new Intent(GameLevelsActivity.this, NotificationReceiverActivityAdv.class);

PendingIntent resultPendingIntent =
        PendingIntent.getActivity(
                GameLevelsActivity.this,
                0,
                resultIntent,
                PendingIntent.FLAG_UPDATE_CURRENT
                );

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
        getApplicationContext()).setSmallIcon(R.drawable.icon)
        .setContentTitle(adv_title)
        .setContentText(adv_desc)
        .setContentIntent(resultPendingIntent)
         //HERE IS WHAT YOY NEED:
        .setAutoCancel(true);

NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
manager.notify(547, mBuilder.build());`



questo aiuterà:

NotificationManager mNotificationManager = (NotificationManager)
            getSystemService(NOTIFICATION_SERVICE);
mNotificationManager.cannelAll();

e se si crea una notifica chiamando

startForeground();

all'interno di un servizio. Potrebbe essere necessario chiamare

stopForeground(false);

prima, quindi annullare la notifica.




Su Android API> = 23 puoi fare qualche cosa del genere per rimuovere un gruppo di notifiche.

  for (StatusBarNotification statusBarNotification : mNotificationManager.getActiveNotifications()) {
        if (KEY_MESSAGE_GROUP.equals(statusBarNotification.getGroupKey())) {
            mNotificationManager.cancel(statusBarNotification.getId());
        }
    }



Per favore prova questo,

public void removeNotification(Context context, int notificationId) {      
    NotificationManager nMgr = (NotificationManager) context.getApplicationContext()
            .getSystemService(Context.NOTIFICATION_SERVICE);
    nMgr.cancel(notificationId);
}



Related