получение локального уведомления, пока приложение находится в фоновом режиме

пока приложение находится в фоновом режиме, didReceiveLocalNotification не вызывается.

Поэтому я пытаюсь получить уведомление от didFinishLaunchingWithOptions.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:    (NSDictionary *)launchOptions
{ 
 UILocalNotification *notification = [launchOptions  objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];
//...
}

Но в моем приложении включен фоновый режим (с использованием внешней связи). При нажатии на уведомление didFinishLaunchingWithOptions не вызывается.

Любой другой способ получить уведомление?


person JosephT    schedule 18.08.2014    source источник
comment
Когда ваше приложение находится в фоновом режиме, локальное уведомление придет автоматически, didReceiveLocalNotification используется, когда ваше приложение находится на переднем плане.   -  person Yogesh Suthar    schedule 18.08.2014


Ответы (1)


Проверяя документе Apple об уведомлениях говорится:

Примечание для iOS. В iOS вы можете определить, запускается ли приложение в результате нажатия пользователем кнопки действия или уведомление было доставлено в уже запущенное приложение, изучив состояние приложения. В реализации делегата метода application:didReceiveRemoteNotification: или application:didReceiveLocalNotification: получите значение свойства applicationState и оцените его. Если значение равно UIApplicationStateInactive, пользователь нажал кнопку действия; если значение равно UIApplicationStateActive, приложение было самым передним, когда оно получило уведомление.

Насколько мне известно, когда ваше приложение находится в фоновом режиме и приходит локальное уведомление, вы не получите никакого вызова метода, уведомление будет отображаться пользователю, но если пользователь коснется уведомления и, таким образом, отреагирует на ваш приложение, вы получите -didReceiveLocalNotification: звонок.

person CarmeloS    schedule 18.08.2014