本地推送的应用

今天我们来讲解一下 本地推送的小知识

直接上代码  

1,在appdelegate 里面注册本地通知 代码如下

/**

* 注册通知

*/

- (void)registerLocalNotification  :(UIApplication *)application

{

// 注意: 在iOS8中, 必须提前注册通知类型

if ([UIDevice currentDevice].systemVersion.doubleValue >= 8.0) {

UIUserNotificationType type = UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound;

UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:type categories:nil];

// 注册通知类型

[application registerUserNotificationSettings:settings];

}

}

接下来 可以在主页面 等页面 贴入以下代码  ,一定要监听到这个方法

- (void)didReceiveMessages:(NSArray*)aMessages

{

EMMessage* message =

aMessages[0];

//ZLLog(@"%@-------%@",aMessages,message);

NSString* from = message.from;

EMMessageBody*body = message.body;

if(body.type==EMMessageBodyTypeText) {

//收到的文字消息

EMTextMessageBody*textBody = (EMTextMessageBody*)body;

NSString*txt = textBody.text;

self.txt= txt;

NSLog(@"收到的文字是txt -- %@",txt);

}

以上是我用  环信 监听消息回调的法子 可以忽略 下面是通知实现的代码。

// 1.创建本地通知对象

UILocalNotification*note = [[UILocalNotificationalloc]init];

//指定通知发送的时间(指定5秒之后发送通知)

note.fireDate= [NSDatedateWithTimeIntervalSinceNow:0];

//注意:在真实开发中一般情况下还需要指定时区(让通知的时间跟随当前时区)

note.timeZone= [NSTimeZonedefaultTimeZone];

//指定通知内容

note.alertBody= [NSStringstringWithFormat:@"%@ : %@",from,self.txt];

//设置通知重复的周期(1分钟通知一期)

//note.repeatInterval = NSCalendarUnitSecond;

//指定锁屏界面的信息

//note.alertAction = @"这是锁屏界面的信息";

//设置点击通知进入程序时候的启动图片

note.alertLaunchImage=@"LaunchImage";

//设置震动

AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);//(#import

//收到通知播放的音乐

note.soundName=@"buyao.wav";

//设置应用程序的提醒图标

//note.applicationIconBadgeNumber = 998;

//注册通知时可以指定将来点击通知之后需要传递的数据

//note.userInfo =

@{@"name":@"lnj",@"age":@"28",@"phone":

@"12345678912"};

// 2.注册通知(图片的名称建议使用应用程序启动的图片名称)

UIApplication*app =[UIApplicationsharedApplication];

//每次调用添加方法都会将通知添加到scheduledLocalNotifications数组中

[appscheduleLocalNotification:note];

}

这样 我们就可以 实现本地通知了 接下来我们要在回调里

```

你可能感兴趣的:(本地推送的应用)