Me gustaría eliminar notificaciones antiguas que mi aplicación ha realizado desde el Centro de notificaciones de iOS 5. ¿Puedo hacer esto? ¿Si es así, cómo?¿Puedo borrar de forma programática las notificaciones de mi aplicación del Centro de notificaciones de iOS 5?
Respuesta
Para eliminar las notificaciones del Centro de notificaciones, simplemente establezca el número de la insignia de su icono en cero.
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];
Esto sólo funciona si los cambios en el número, así que si su aplicación no utiliza el número de tarjeta es necesario primer set, se vuelve a establecer.
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:1];
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];
Para mí sólo funcionaba con el envío de una notificación local con solamente una insignia de esta manera:
if([UIApplication sharedApplication].applicationIconBadgeNumber == 0) {
UILocalNotification *singleLocalPush = [[UILocalNotification alloc] init];
singleLocalPush.fireDate = [NSDate dateWithTimeIntervalSinceNow:1];
singleLocalPush.hasAction = NO;
singleLocalPush.applicationIconBadgeNumber = 1;
[[UIApplication sharedApplication] scheduleLocalNotification:singleLocalPush];
[singleLocalPush release];
} else {
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];
}
Y en el método
-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
puedo configurar la tarjeta de identificación a 0 de nuevo .
Sí, puede cancelar las notificaciones locales específicos o llamando a todos los
[[UIApplication sharedApplication] cancelLocalNotification:...];
o
[[UIApplication sharedApplication] cancelAllLocalNotifications];
Un método más sencillo que yo uso (y no requiere insignias) es para restablecer el una serie de notificaciones locales programadas a sí mismo, de la siguiente manera:
UIApplication* application = [UIApplication sharedApplication];
NSArray* scheduledNotifications = [NSArray arrayWithArray:application.scheduledLocalNotifications];
application.scheduledLocalNotifications = scheduledNotifications;
Esto tiene el efecto de que y las notificaciones programadas siguen siendo válidas, mientras que todas las notificaciones "antiguas" que están presentes en el Centro de notificaciones se eliminan. Sin embargo, también tiene la sensación de algo que podría cambiar en una versión futura de iOS, ya que no he visto ninguna documentación para este comportamiento.
Por supuesto, si desea eliminar todos notificaciones, es simplemente la siguiente:
[[UIApplication sharedApplication] cancelAllLocalNotifications];
Si desea borrar las notificaciones en Swift y el IOS 10,0
import UserNotifications
if #available(iOS 10.0, *) {
let center = UNUserNotificationCenter.current()
center.removeAllPendingNotificationRequests() // To remove all pending notifications which are not delivered yet but scheduled.
center.removeAllDeliveredNotifications() // To remove all delivered notifications
}
- 1. iOS aplicación: ¿cómo borrar las notificaciones?
- 2. iOS 5 "Centro de notificaciones" API?
- 3. Deshabilitar iOS 5 Centro de notificaciones Gesto en la aplicación
- 4. Cómo hacer widgets del Centro de notificaciones (iOS 5)
- 5. ¿Cómo borrar las notificaciones push de preferencia de iOS para mi aplicación?
- 6. Centro de notificaciones en C++
- 7. Configuración predeterminada de la aplicación para iOS 5 Centro de notificaciones
- 8. Borrar insignia de aplicación con notificaciones locales
- 9. ¿Cómo puedo manejar las notificaciones push no leídas en iOS?
- 10. Centro de notificaciones: notificación que no aparece en el centro de notificaciones cuando recibió en la aplicación activa
- 11. Verificar notificaciones de espera
- 12. iOS - Manejo de notificaciones push con APNS
- 13. iOS: solicite habilitar las notificaciones push después del declive inicial
- 14. iphone y notificaciones: ¿número máximo de notificaciones?
- 15. Utilidad de línea de comandos para enviar notificaciones al Centro de notificaciones en Mountain Lion
- 16. ¿Cómo puedo escuchar todas las notificaciones enviadas al predeterminadoCenter de NSNotificationCenter de iOS?
- 17. Notificaciones de iOS Push con el diccionario vacío aps
- 18. Eliminar notificaciones de la barra de notificaciones de otras aplicaciones
- 19. cómo ver el centro de notificaciones en el simulador de iOS?
- 20. ¿Cómo puedo recibir notificaciones sobre un cambio de horario del sistema en mi aplicación Cocoa?
- 21. iOS: cómo registrarse para recibir notificaciones push?
- 22. iOS5: cómo determinar si el Centro de notificaciones de la aplicación está activado/desactivado
- 23. IOS UILocalNotifications en vivo después de que se eliminó mi aplicación ... ¿cómo lidiar con estas notificaciones?
- 24. ¿Cómo recibir notificaciones automáticas de mi cuenta de Gmail?
- 25. ios notificaciones a objetos "muertos"
- 26. ¿Cuál es una buena forma de administrar las notificaciones locales que ha programado su aplicación?
- 27. Actualización de la insignia de iOS sin notificaciones push
- 28. Procesamiento automático de las notificaciones de Amazon SES para notificaciones de rebote y quejas
- 29. iOS: compruebe la compatibilidad con notificaciones push en la aplicación
- 30. Cambio de color del LED para las notificaciones
Esto no lo hizo trabajo para mí :( –
Esto funciona ... Tienes que establecerlo en algún valor y luego restablecer a 0 ...... Gracias @voidStern – Meet
@voidStern: Eres increíble ... :) – Nilesh