iOS5 локальные уведомления - проведите пальцем или разблокируйте - PullRequest
0 голосов
/ 05 января 2012

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

Есть ли способ изменить поведение "первых" уведомлений на экране разблокировки, чтобы иметь как ползунки "разблокировать", так и "читать" уведомления - не только одно входящее приложение?

РЕДАКТИРОВАТЬ: или, по крайней мере, если я знаю, какой слайдер был использован? кажется маловероятным, но не помешает спросить;)

1 Ответ

1 голос
/ 05 января 2012

Нет, вы не можете ничего изменить в том, как система обрабатывает push-уведомления программно.

Ваше приложение откроется, только если ползунки используются пользователем. Вы можете проверить, открыто ли ваше приложение с помощью локального уведомления в - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions. Просто проверьте, есть ли уведомление.

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

    window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].applicationFrame];

    [self.window addSubview:self.tabBarController.view];
    [self.window makeKeyAndVisible];

    UILocalNotification *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey]; 

    if (notification) {
        [self performSelector:@selector(handleNotification:) withObject:notification afterDelay:0.1];
    }

    return YES;
}

// Recieved notification when running
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification {
    [self handleNotification:notification];
}
- (void) handleNotification:(UILocalNotification *)notification {
    // Handle the notification
}
...