2010-07-05 8 views
6

Cuál es la mejor manera de aclarar el número de notificación cuando el usuario hace clic en la notificación? Lo digo de la mejor manera, pero realmente no he encontrado NINGUN modo. Estoy lanzando una construida en la actividad cuando el usuario hace clic en la notificación, no es algo que escribí lo que no puedo borrar esa manera. Tengo la bandera del gestor de notificaciones SET para borrarCómo restablecer el número NotificationManager la notificación clara

NotificationManager notification 
    . 
    . 
    . 
    notification.flags |= Notification.FLAG_AUTO_CANCEL; 
    notification.number++; 
    nm.notify(1,notification); 

Pero haga lo que haga el Notification.number sigue subiendo y nunca restablece a 0.

Respuesta

2

Se podría utilizar una actividad de intermediario, que es parte de su aplicación y por lo tanto puede restablecer su variable y luego iniciar la actividad interna.

Así la cadena sería

Notificación --starts -> Intermediario Actividad --starts -> incorporado en la actividad

+4

No tendría que ser una actividad de intermediario. El 'Notification' podría tener un' PendingIntent' para una emisión 'Intent', recogido por un' BroadcastReceiver', que despeja el '' Notification' y llama startActivity() 'por otra actividad. De esa forma, no habría ningún problema de UI. Pero, una actividad (o servicio concebible) podría funcionar también. – CommonsWare

+0

Así que podría configurar un receptor de radiodifusión sólo para eliminar el cuenta de notificación? Pensé que solo podías modificar las notificaciones de tu propia actividad. – JonF

0

estoy usando una combinación de lo recomienda @CommonsWare y extender una aplicación objeto como aquí How to update notification number.

Edición: Más pruebas demuestran que en realidad esto no está funcionando debido a que el BroadcastReceiver se llama en cada notificación y porque restablece el número en cada notificación, el número no es correcto.

Cuestiones relacionadas