UILocalNotification показать представление после того, как уведомление происходит? - PullRequest
3 голосов
/ 16 февраля 2011

Я использую UILocalNotification. Когда отображается уведомление, и пользователь нажимает на мое alertAction, как я могу направить их в определенный вид при загрузке моего приложения? (Подобно тому, как приложение календаря показывает вам событие, о котором только что было сообщено).

Я использую:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOption {

    UILocalNotification *localNotif = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey]; 

    if (localNotif) {
        NSString *itemName = [localNotif.userInfo objectForKey:ItemListKey]; 
        //  [viewController displayItem:itemName]; // custom method 
        application.applicationIconBadgeNumber = localNotif.applicationIconBadgeNumber-1; 
        NSLog(@"has localNotif %@",itemName);
    }

    return YES;
}

1 Ответ

3 голосов
/ 16 февраля 2011

Вам необходимо структурировать контроллеры представлений приложения, чтобы вы могли отображать конкретное представление из запуска приложения.Это может означать, например, программное воссоздание всей вашей структуры контроллера представления без выгоды каких-либо взаимодействий с пользователем.Возможно, вам придется вручную выбрать вкладки панели вкладок, вручную создать стеки контроллера навигации и т. Д.

Редактировать: кроме того, есть три случая для обработки локальными уведомлениями:

  • приложение получает локальное уведомление и переносится из фона на передний план (поэтому все ваши структуры контроллера представления уже исправны, но вам все равно придется вручную «перемещаться» в нужное место)

  • приложение получает локальное уведомление и уже работает на переднем плане

  • приложение было только что запущено

...