UILocalNotification

最近在弄发本地消息,在这里把开发过程中的一点小小的经验总结一下,方便大家以后参考。。。

 

UILocalNotification:就是我们发送的本地消息。会显示在消息通知栏中。


下面介绍一下
UILocalNotification

1.发通知

大家为了方便可以建一个类,写一个类方法专门发通知

+(void)creatLocalNotification:(NSTimeInterval)timeInterval timeZone:(NSTimeZone*)zone userInfor:(NSDictionary*)userDic alertBody:(NSString*)body
{
    UILocalNotification *notification=[[UILocalNotification alloc] init];//新建通知
    notification.fireDate=[[NSDate date] dateByAddingTimeInterval:timeInterval];//距现在多久后触发代理方法
    notification.timeZone=zone;//设置时区
    notification.userInfo=userDic;//在字典用存需要的信息
    notification.alertBody = body;//消息的内容
    [[UIApplication sharedApplication] scheduleLocalNotification:notification];//将新建的消息加到应用消息队列中
    [notification release];//释放
}

2.消息查看

 NSArray*arrSchedule=[[UIApplicationsharedApplication]scheduledLocalNotifications];//获得所有已注册但未到时提醒的本地消息

可以通过for in来便利找到某个消息进行update

这里说一下,此消息不能修改只能将原消息进行取消,然后重发。

 

3.消息接受

扫描二维码关注公众号,回复: 725930 查看本文章

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification

这个方法是消息到时间后进此代理,在这里可以设置他弹框或者别的(你想做的操作)

**注意如果在此程序在后台运行时将不会听你的话。可以在系统设置中进行消息通知设置是让他弹框还是横条提醒随你设置。此时已提醒的消息会显示在手机的消息通知栏中(只要你不手动将此消息取消则他会一直显示在消息通知栏中)

其中有一点很重要UIApplicationState state = application.applicationState

这个状态分为UIApplicationStateActive(活动在前台)UIApplicationStateBackground(程序进入后台)UIApplicationStateInactive(进入消息通知栏时点击某条消息)

4.取消消息

- (void)cancelLocalNotification:(UILocalNotification *)notification;//取消一条消息

- (void)cancelAllLocalNotifications;//取消所有已发出的消息(此时消息栏中不会有消息提醒)

 

 

猜你喜欢

转载自dxldy.iteye.com/blog/1771345