Sto provando a rilevare quando la mia notifica viene cancellata. La mia domanda si riferisce direttamente a questo answer che descrive ciò che suppongo di fare. Questo è come sto attuazione delle azioni:Come utilizzare Notification.deleteIntent
// usual Notification initialization here
notification.deleteIntent = PendingIntent.getService(context, 0, new Intent(context, CleanUpIntent.class), 0);
notificationManager.notify(123, notification)
Questa è la classe CleanUpIntent:
class CleanUpIntent extends IntentService {
public CleanUpIntent() {
super("CleanUpIntent");
}
@Override
protected void onHandleIntent(Intent arg0) {
// clean up code
}
}
In seguito, ho semplicemente lanciare la notifica come mi farebbe normalmente, ma quando vado a provarlo (premendo "Cancella tutte le notifiche") non accade nulla. Ho inserito una riga di codice che stampa qualcosa su LogCat all'avvio di IntentService, ma non è mai stato eseguito nulla. È questo il modo in cui suppongo di usare Notification.deleteIntent?
Ti capita di sapere qual è il flag IntentFilter per la cattura quando le notifiche vengono cancellate? – Brian
Non è un flag 'IntentFilter', è un' BroadcastReceiver': vedi http://code.google.com/p/islamictools/source/browse/trunk/IslamicTools/src/com/alpha/commun/MsgNotification .java? spec = svn11 & r = 11 per un esempio di come lo faresti. – Femi
Non ho molta familiarità con BroadcastReceiver, ma la mia domanda riguardava il modo in cui registro il ricevitore. Non è necessario fornire a IntentFilter se si chiama Context.registerReceiver o lo si inserisce manualmente in AndroidManifest? – Brian