#pragma mark - VoIP
- ( void )setupBackgroundHandler
{
if ( UIUDeviceIsBackgroundSupported() )
if (
[[UIApplication sharedApplication] setKeepAliveTimeout:600 handler: ^
{
[ self requestServerHowManyUnreadMessages];
}
]
)
{
UDLog(@ "Set Background handler successed!" );
}
else
{ //failed
UDLog(@ "Set Background handler failed!" );
}
}
else
{
UDLog(@ "This Deviece is not Background supported." );
}
}
- ( void )requestServerHowManyUnreadMessages
{
UIApplication* app = [UIApplication sharedApplication];
if ([app applicationState] == UIApplicationStateBackground)
{
NSArray * oldNotifications = [app scheduledLocalNotifications];
if ([oldNotifications count] > 0)
[app cancelAllLocalNotifications];
UILocalNotification* alarm = [[[UILocalNotification alloc] init] autorelease];
if (alarm)
{
alarm.fireDate = [ NSDate dateWithTimeIntervalSinceNow:15];
alarm.timeZone = [ NSTimeZone defaultTimeZone];
alarm.repeatInterval = 0;
alarm.soundName = UILocalNotificationDefaultSoundName;
alarm.alertBody = @ "Time to request MOA2 Server!" ;
[app scheduleLocalNotification:alarm];
}
}
else if ([app applicationState] == UIApplicationStateActive)
{
UIAlertView *alertView = [[[UIAlertView alloc] init] autorelease];
[alertView setTitle:@ "alert" ];
[alertView setMessage:@ "Time to request MOA2 Server!" ];
[alertView addButtonWithTitle: NSLocalizedString (@ "cancel" , nil )];
[alertView setDelegate: nil ];
[alertView show];
}
}
|