iOS本地通知
来源:互联网 发布:vs2017写c语言 编辑:程序博客网 时间:2024/05/01 02:37
本地通知 不需要联网就可以发送出来的推送通知。
iOS8之后要在didFinishLaunchingWithOptions写判断方法
if ([UIApplication instancesRespondToSelector:@selector(registerUserNotificationSettings:)])
{
UIUserNotificationType type = UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound;
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:type categories:nil];
[[UIApplication sharedApplication] registerUserNotificationSettings:settings];
}
UILocalNotification *local = [[UILocalNotificationalloc]init];
@property(nonatomic,copy)NSDate *fireDate;
@property(nonatomic,copy)NSString *alertBody;
@property(nonatomic,copy)NSString *alertAction;
@property(nonatomic,copy)NSString *soundName;
@property(nonatomic)NSInteger applicationIconBadgeNumber;
[[UIApplication sharedApplication] scheduleLocalNotification:ln];
@property(nonatomic,copy)NSArray *scheduledLocalNotifications;
(已经发出且过期的推送通知就算调度结束,会自动从这个数组中移除)
- (void)cancelLocalNotification:(UILocalNotification*)notification;
- (void)cancelAllLocalNotifications;
- (void)presentLocalNotificationNow:(UILocalNotification*)notification;
@property(nonatomic)NSCalendarUnit repeatInterval;
@property(nonatomic,copy)NSString *alertLaunchImage;
@property(nonatomic,copy)NSDictionary *userInfo;
@property(nonatomic,copy)NSTimeZone *timeZone;
(一般设置为[NSTimeZonedefaultTimeZone] ,跟随手机的时区)
-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification{ /** * UIApplicationStateActive, UIApplicationStateInactive, UIApplicationStateBackground Active:当前应用正在前台运行,并且接收事件。这是应用正在前台运行时所处的正常状态。 Inactive:当前应用正在前台运行,但是并不接收事件(当前或许正在执行其它代码)。一般每当应用要从一个状态切换到另一个不同的状态时,中途过渡会短暂停留在此状态。唯一在此状态停留时间比较长的情况是:当用户锁屏时,或者系统提示用户去响应某些(诸如电话来电、有未读短信等)事件的时候。 Background:应用处在后台,并且还在执行代码。大多数将要进入Suspended状态的应用,会先短暂进入此状态。然而,对于请求需要额外的执行时间的应用,会在此状态保持更长一段时间。另外,如果一个应用要求启动时直接进入后台运行,这样的应用会直接从Not running状态进入Background状态,中途不会经过Inactive状态。比如没有界面的应用。注此处并不特指没有界面的应用,其实也可以是有界面的应用,只是如果要直接进入background状态的话,该应用界面不会被显示。 */ if (application.applicationState==UIApplicationStateActive) {//当通知处于前台时候 不做操作 return; } NSLog(@"didReceiveLocalNotification---%@",notification);}
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;
//创建本地通知
//1.创建本地推送通知 UILocalNotification *local = [[UILocalNotification alloc]init]; //2.设置声音 local.soundName = @"buyao.wav"; local.alertBody = @"重大新闻"; local.fireDate = [NSDate dateWithTimeIntervalSinceNow:10]; //3.设置图标的数字 local.applicationIconBadgeNumber = 5; //根据手机默认的时区 local.timeZone = [NSTimeZone defaultTimeZone]; //4.设置重复发出通知的时间间隔 //local.repeatInterval = NSCalendarUnitDay; //锁屏界面显示的小标题 local.alertAction = @"查看新闻吧"; //5.启动通知(在规定的时间启动任务) [[UIApplication sharedApplication] scheduleLocalNotification:local]; //直接启动通知(使用价值:app在后台运行时候) //[[UIApplication sharedApplication] presentLocalNotificationNow:local];
- iOS 本地通知 远程通知
- iOS本地通知 远程通知
- iOS本地通知&定时通知
- iOS实现本地通知
- iOS本地通知
- iOS本地通知
- iOS本地通知UILocalNotification
- IOS实现本地通知
- IOS 本地通知 UILocalNotification
- ios本地通知UILocalNotification
- iOS UILocalNotification本地通知
- iOS实现本地通知
- iOS实现本地通知
- IOS实现本地通知
- iOS-本地通知
- IOS 本地通知
- IOS本地推送通知
- iOS本地通知:UILocalNotification
- 字符串转整形
- Java学习:内部类
- mysql学习之配置及常见命令
- 河南第三届ACM省赛(素数)
- classPath和classPath*的区别
- iOS本地通知
- Struts2五、Struts1与Struts2的区别
- 卖火车票---java线程
- windowAPI--手动编写一个消息窗口
- TSM备份Oracle报错(rman-06012,ANR1401W)
- docker 报错:x509: certificate has expired or is not yet valid
- JavaScript高级程序设计之面向对象的程序设计之继承之寄生组合式继承第6.3.6讲笔记
- 二叉搜索树的后序遍历序列
- 项目____上传文件