Tengo una aplicación que hará un seguimiento de todo lo que hace el usuario en la aplicación de iPod. Para hacer esto, agregué algunos observadores a NSNotificationCenter, como MPMusicPlayerControllerNowPlayingItemDidChangeNotification. Pero mi problema es que solo recibo esas notificaciones cuando mi aplicación está en primer plano, si está en segundo plano, el sistema agrega la notificación a una cola y la próxima vez que mi aplicación se activa, me la entrega. No tengo ningún interés en esta cola, ya que quiero recibir notificaciones en tiempo real.Recibir notificaciones con la aplicación en el modo de fondo
¿Hay alguna forma de que reciba esas notificaciones, incluso si mi aplicación está suspendida? Quiero ejecutar solo 3 líneas de código cada vez que obtengo estas notificaciones de NowPlayingItemDidChange, por ejemplo.
Aquí es donde agrego el observador.
MPMusicPlayerController *iPodMediaPlayer = [MPMusicPlayerController iPodMusicPlayer];
NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
[notificationCenter addObserver: self selector: @selector(handle_NowPlayingItemChanged:) name:MPMusicPlayerControllerNowPlayingItemDidChangeNotification
object:iPodMediaPlayer];
[iPodMediaPlayer beginGeneratingPlaybackNotifications];
Además, si añado otro tipo de objeto para el observador en lugar de iPodMediaPlayer, el observador no se llame al método.
Muchas gracias, aplicaciones
Abras
Sí, sé que solo hay tres opciones. Pero pensé que tal vez había una manera de registrar la notificación en el sistema, luego tu aplicación entraría en modo de fondo normalmente. Si el usuario hace algo que desencadena la notificación, el Centro de notificaciones activará su aplicación solo para que pueda responder a la notificación. Después de responder, volvería al modo de fondo de forma normal. – Abras
@Abras: ¿Has descubierto cómo hacer esto? Tengo una aplicación de audio. Y quiero que reciba notificaciones (cuando surjan otras aplicaciones de audio) cuando esté en segundo plano. ¿Cómo lo hago? – Namratha
@Abras ¿Alguna vez resolvió esto? – WMios