¿Quieres eliminar la notificación usando String tag e id int?

Me gustaría poner una notificación en la bandeja de notificaciones. Es para un juego multijugador, y quiero notificar a un usuario cuando es su turno de hacer un movimiento. Pueden participar en varios juegos a la vez, y enviaré una notificación por juego cuando / si es su movimiento. Cada juego tiene una identificación única, así que quería enviar notificaciones como:

int TYPE_NOTIF_YOUR_TURN = 0; String gameId1 = "abc"; String gameId2 = "xyz"; mgr.notify(gameId1, TYPE_NOTIF_YOUR_TURN, notification); mgr.notify(gameId2, TYPE_NOTIF_YOUR_TURN, notification); 

Ahora si necesito cancelar una de las notificaciones, puedo buscar usando la etiqueta (en mi caso, la gameId) ?:

 // only remove the second notification: mgr.cancel(gameId2, TYPE_NOTIF_YOUR_TURN); 

¿Así es como funciona?

Gracias

Sí que es exactamente cómo funciona.

En una nota lateral, sin embargo, haría que las etiquetas de cadena única para su paquete de aplicación. Ejemplo…

 String gameId1 = "com.mycompany.mypackage.gameid.abc"; String gameId2 = "com.mycompany.mypackage.gameid.xyz"; 

El razonamiento detrás de esto es que al cancelar, la cadena y el int deben coincidir para identificar la notificación para cancelar. Es probable que muchas aplicaciones utilicen valores int de 1, 2, 3, etc. Por lo tanto, cuanto más sencilla sea la etiqueta de cadena, más probable es que otra aplicación (mediante etiquetas simples) pueda cancelar accidentalmente una de sus notificaciones.

En general, parece bastante improbable, pero las etiquetas únicas lo evitarán. También parece probable que esto sería práctica recomendada aunque no he mirado en él mucho.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.