在app delegate头文件中:
UIlocalnotification *localNotif;
为了测试,我在appDelegate启动时设置本地通知以快速触发.
localNotif = [[UIlocalnotification alloc] init];localNotif.fireDate = [NSDate dateWithTimeIntervalSinceNow:10]; // the date you want the notification to fire.localNotif.timeZone = [NSTimeZone defaultTimeZone];[[UIApplication sharedApplication] schedulelocalnotification:localNotif];NSLog(@"setup the timer for 10 seconds");- (voID)application:(UIApplication *)application dIDReceivelocalnotification:(UIlocalnotification *)notification {UIApplicationState state = [application applicationState];NSLog(@"getting kicked");if (state == UIApplicationStateInactive) { // Application was in the background when notification was delivered. NSLog(@"INACTIVE..");} else { NSLog(@"ACTIVE..");}
}
解决方法 用户有几个选择:#1)他们是否希望看到您的应用的通知. #2)如果您的应用已启用通知,他们是否要点击您的通知来启动您的应用.如果他们确实接受通知并在您的应用在后台时打开通知,则会调用application:dIDReceivelocalnotification.为清楚起见,用户必须接受通知(例如滑动通知下方的滑块)…否则调用nothing.- (voID)application:(UIApplication *)application dIDReceivelocalnotification:(UIlocalnotification *)notification { NSLog(@"%@",notification);}
如果您的应用已被终止应用程序:dIDFinishLaunchingWithOptions:被调用 –
- (BOol)application:(UIApplication *) application dIDFinishLaunchingWithOptions:(NSDictionary *)launchOptions { UIlocalnotification *theNotification = [launchOptions objectForKey:UIApplicationLaunchOptionslocalnotificationKey]; NSLog(@"%@",theNotification); return YES;}总结
以上是内存溢出为你收集整理的ios – 可以使用UILocalNotification唤醒后台任务全部内容,希望文章能够帮你解决ios – 可以使用UILocalNotification唤醒后台任务所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)