Как я могу выполнить таймер обратного отсчета на iOS?
Сначала я попробовал NSTimer
. Тогда я обнаружил, что NSTimer
не может работать, когда приложение входит в фоновом режиме.
Во-вторых, я использовал
counterTask = [[UIApplication sharedApplication]
beg
inBackgroundTaskWithExpirationHandler:^{
}];
, чтобы NSTimer
работал на фоне. Но потом я обнаружил, что iOS просто позволяет приложению работать в фоновом режиме не более 600 секунд (10 минут). Не могу понять, как дать NSTimer
больше 10 минут в фоновом режиме.
В-третьих, я устал использовать NSLocalNotification
, и он хорошо работает. Но я хочу приостановить воспроизведение музыки, вызвав метод. Я обнаружил, что UILocalNotification
покажет предупреждение, когда придет время. Если вы не нажали кнопку оповещения, метод - (void)application:(UIApplication *)app didReceiveLocalNotification:(UILocalNotification *)notification
не будет вызван. Я не знаю, как вызвать метод без нажатия кнопки оповещения.
- (void)application:(UIApplication *)app didReceiveLocalNotification:(UILocalNotification *)notification {
NSLog(@"Recieved Notification %@",notification);
UIAlertView *alert=[[[UIAlertView alloc] initWithTitle:@"Local Notification" message:@"message"
delegate:nil cancelButtonTitle:nil
otherButtonTitles:nil, nil] autorelease];
[alert show];
}
Итак, вопрос
1. Как позволить NSTimer
работать в фоновом режиме более 10 минут,
или же
2. Как вызвать мой собственный метод, не нажимая кнопку оповещения, когда настало время для UILocalNotification
.
Большое спасибо !!!