He intentado gestionar las notificaciones recibidas en mi aplicación, pero no funciona.iOS Gestionar notificaciones después de iniciar la aplicación en estado no operativo
Cuando uso didReceiveLocalNotification:(UILocalNotification *)notification
. Puedo recibir y usar la notificación que se utiliza para ingresar a la aplicación, sin ningún problema
Sin embargo, esta función solo se activa cuando la aplicación ya está ejecutándose (activa, inactiva, de fondo y posiblemente suspendida, pero aún no lo he intentado).
Ahora, existe esta función didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
donde puede usar [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey]
que devolvería una UILocalNotification.
Sin embargo, cuando inicia la aplicación desde el estado que no se ejecuta, este evento no se desencadena. LocalNotification luego abre la aplicación, pero no puedo usarla de ninguna manera.
Ahora, mi pregunta es: ¿Cómo puedo hacer que funcione, para que pueda recibir y procesar las notificaciones al iniciar la aplicación, a partir de una notificación, cuando la aplicación está en estado de no ejecución? ¿Hay algo que estoy haciendo mal aquí?
Aquí es un poco de código de ejemplo desde mi aplicación:
En primer lugar, la función didFinishLaunchingWithOptions
, que, por desgracia no funciona. La función [sharedLocalNotificationsInstance processNotification:notification]
no se pone en marcha ...
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
LocalNotificationsController *sharedLocalNotificationsInstance = [LocalNotificationsController sharedLocalNotificationsInstance];
[sharedLocalNotificationsInstance checkNotifications];
UILocalNotification *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];
if (notification != nil) {
// Process the received notification
[sharedLocalNotificationsInstance processNotification:notification];
application.applicationIconBadgeNumber = 0;
}
return YES;
}
y una segunda pieza de código: la función didReceiveLocalNotification, que funciona perfectamente: recibo de la notificación, y [sharedLocalNotificationsInstance processNotification: Notificación] funciona perfectamente.
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification{
// Used when the application launches from a notification
LocalNotificationsController *sharedLocalNotificationsInstance = [LocalNotificationsController sharedLocalNotificationsInstance];
// Process the received notification
[sharedLocalNotificationsInstance processNotification:notification];
}
Hi laarsk. Tengo exactamente el mismo problema. podría detectar notificaciones cuando la aplicación está en primer plano o en segundo plano pero ocurren cosas divertidas cuando se cierra la aplicación. hago clic en notificaciones, la aplicación se abre, permanece en pantalla durante 1 segundo y luego la pantalla se pone negra. Veo la aplicación en segundo plano pero no hay señal de notificación de recepción. Realmente no estoy seguro de si UILocalNotification * notification = (UILocalNotification *) [launchOptions objectForKey: UIApplicationLaunchOptionsLocalNotificationKey]; funciona o no. ¿Has encontrado una solución sólida para esto? – Add080bbA