Ho visto tutte le altre domande AUTO-CANCEL-non-lavoro qui, e sembrano tutte coinvolgere errori che non sto facendo. Ho provato entrambe leAndroid: utilizzo di AUTO-CANCEL su una notifica quando l'app è in esecuzione in background
builder.setAutoCancel(true);
e
Notification notif = builder.build();
notif.flags |= Notification.FLAG_AUTO_CANCEL;
Né opere.
Sto utilizzando NotificationCompat poiché la mia API minima è 8. Ecco il mio codice completo. In questa particolare notifica, non sto chiamando un intento, dal momento che non ho bisogno che l'utente faccia qualcosa.
NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
builder.setContentTitle(getString(R.string.app_name) + ": my title");
builder.setContentText(message);
builder.setSmallIcon(R.drawable.notification_icon);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.prog_icon);
builder.setLargeIcon(bitmap);
builder.setAutoCancel(true); // dismiss notification on user click
NotificationManager notiManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
notiManager.notify(MY_NOTI_MANAGER_ID, builder.build());
La notifica viene visualizzata perfettamente. Puoi scorrere per cancellarlo. Ma semplicemente toccandolo non si elimina la notifica. Si illumina e resta lì.
Alcune possibili differenze tra il mio codice e altri 'postati qui: 1) Sto usando NotificationCompat (che non dovrebbe fare la differenza, ma l'abbiamo già sentito prima). 2) Poiché la mia notifica è semplice, non allego un intento.
Per favore fatemi sapere se avete qualche intuizione.
Modifica: il mio scopo è eliminare una notifica senza mettere in primo piano la mia app in background.
Questo è giusto ... – superUser
La soluzione è buona, tuttavia penso che la spiegazione sia inesatta. Non "afferra l'attuale applicazione attiva come intento in sospeso", più probabilmente invia l'intento vuoto e comprime la barra delle notifiche. Dal momento che l'intento non fa nulla, ci capita di ricadere in cima alla pila di attività. –
si lavora come campione .. Grazie mille .. –