Quiero escuchar todas las notificaciones enviadas al centro predeterminado. Tanto público como privado. ¿Alguien sabe cómo puedo hacer esto?¿Cómo puedo escuchar todas las notificaciones enviadas al predeterminadoCenter de NSNotificationCenter de iOS?
Respuesta
Use NSNotificationCenter addObserverForName:object:queue:usingBlock:
O addObserver:selector:name:object:
método y pase nil para el nombre y el objeto.
Ejemplo
El siguiente código debe hacer el trabajo:
- (void)dumpNotifications {
NSNotificationCenter *notifyCenter = [NSNotificationCenter defaultCenter];
[notifyCenter addObserverForName:nil
object:nil
queue:nil
usingBlock:^(NSNotification *notification){
// Explore notification
NSLog(@"Notification found with:"
"\r\n name: %@"
"\r\n object: %@"
"\r\n userInfo: %@",
[notification name],
[notification object],
[notification userInfo]);
}];
}
Docs
Aquí están los documentos en addObserverForName:object:queue:usingBlock:
. En particular, consulte los parámetros y obj.
addObserverForName: Objeto: cola: usingBlock:
añade una entrada a la tabla de despacho del receptor con una cola de notificaciones y un bloque de añadir a la cola, y los criterios opcionales: nombre de notificación y remitente.
- (id)addObserverForName:(NSString *)name object:(id)obj queue:(NSOperationQueue *)queue usingBlock:(void (^)(NSNotification *))block
Parámetros
nombre
El nombre de la notificación para el que desee registrar el observador; que es, solo las notificaciones con este nombre se utilizan para agregar el bloque a la cola de operaciones . Si pasa cero, el centro de notificación no utiliza el nombre de una notificación para decidir si se debe añadir el bloque a la cola de operaciones .
obj
El objeto cuyas notificaciones que desea añadir el bloque a la cola operación. Si pasa nil,, el centro de notificaciones no usa un remitente de notificación para decidir si agrega el bloque a la cola de operaciones .
cola
La cola de operación a la que debe añadirse bloque. Si pasa nil, , el bloque se ejecuta de forma síncrona en el hilo de publicación.
bloque
El bloque a ejecutar cuando se recibe la notificación. El centro de notificaciones copia el bloque y (la copia) se mantiene hasta que se elimine el registro del observador .El bloque toma un argumento:
notificación
la notificación.
- 1. ¿Cómo puedo manejar las notificaciones push no leídas en iOS?
- 2. iOS aplicación: ¿cómo borrar las notificaciones?
- 3. UIKeyboardWillShowNotification, UIKeyboardWillHideNotification y NSNotificationCenter problema entre las versiones de iOS
- 4. ¿Cómo borrar la rama con todas las confirmaciones enviadas al depósito incorrecto?
- 5. iOS 5 "Centro de notificaciones" API?
- 6. ¿Equivalente de iOS NSNotificationCenter en Android?
- 7. knockoutjs: cómo recibir notificaciones para todas las propiedades una vez
- 8. TcpListener: ¿Cómo escuchar un puerto específico en todas las interfaces?
- 9. Android: reciba todas las notificaciones por código
- 10. ios notificaciones a objetos "muertos"
- 11. ¿Cómo puedo escapar de las variables enviadas al comando 'system' en C++?
- 12. ¿Cómo puedo nombrar las ejecuciones enviadas en línea con Caliper?
- 13. ¿Puedo borrar de forma programática las notificaciones de mi aplicación del Centro de notificaciones de iOS 5?
- 14. ¿Cómo rastrear todas las consultas enviadas a Oracle DB desde el servidor de la aplicación?
- 15. Cómo agregar notificaciones al icono en la aplicación iOS
- 16. iOS: cómo registrarse para recibir notificaciones push?
- 17. ¿Cómo puedo abrir/cerrar programáticamente las notificaciones en Android?
- 18. Ejecutores de Java: ¿cómo puedo detener tareas enviadas?
- 19. ¿Cómo puedo verificar si un perfil de aprovisionamiento de distribución de iOS tiene activadas las notificaciones push?
- 20. ¿Cómo borrar las notificaciones push de preferencia de iOS para mi aplicación?
- 21. Centro de notificaciones en C++
- 22. Escuchar eventos en un UIWebView (iOS)
- 23. iOS: solicite habilitar las notificaciones push después del declive inicial
- 24. iOS - Manejo de notificaciones push con APNS
- 25. cómo usar la propiedad del objeto NSNotificationcenter
- 26. Cómo hacer widgets del Centro de notificaciones (iOS 5)
- 27. Intercepción de solicitudes HTTP enviadas desde la aplicación de Android
- 28. Cuándo utilizar NSNotificationCenter
- 29. cómo funcionan las notificaciones de Facebook?
- 30. ¿Cómo puedo recorrer todas las rutas?
Buena respuesta. Sin embargo, para cualquier persona que potencialmente copie/pegue la solución, existen algunos tipos. "notifyCenter" debería ser un objeto, por lo que debería ser "* notifyCenter". Y a la declaración NSLog le falta el símbolo '@' al comienzo. – Keller
@Keller - gracias por el comentario. Enmendé mi respuesta para incluir tus correcciones. – Sam
No hay problema. Irónicamente, me acabo de dar cuenta de que escribí mal los "errores tipográficos" en mi comentario anterior; p – Keller