iOS本地推送常用开发中,通过消息传递信息

第一步:创建本地推送 
// 创建一个本地推送 
UILocalNotification *notification = [[[ UILocalNotification alloc ] init ] autorelease ]; 
//设置10秒之后 
NSDate *pushDate = [ NSDate dateWithTimeIntervalSinceNow : 1 0 ]; 
if (notification != nil ) { 
     // 设置推送时间 
     notification .fireDate = pushDate; 
     // 设置时区 
     notification .timeZone = [ NSTimeZone defaultTimeZone ]; 
     // 设置重复间隔 
     notification .repeatInterval = kCFCalendarUnitDay; 
     // 推送声音 
     notification .soundName = UILocalNotificationDefaultSoundName
     // 推送内容 
     notification .alertBody = @"推送内容"
     //显示在icon上的红色圈中的数子 
     notification .applicationIconBadgeNumber = 1
     //设置userinfo 方便在之后需要撤销的时候使用 
     NSDictionary *info = [ NSDictionary dictionaryWithObject : @"name" forKey: @"key" ]; 
     notification .userInfo = info; 
     //添加推送到UIApplication        
     UIApplication *app = [ UIApplication sharedApplication ]; 
     [app scheduleLocalNotification :notification];  
      
   
第二步:接收本地推送 
- ( void )application:( UIApplication *)application didReceiveLocalNotification :(UILocalNotification*)notification{ 
     UIAlertView *alert = [[ UIAlertView alloc ] initWithTitle : @"iWeibo" message :notification .alertBody delegate :nil cancelButtonTitle : @"确定" otherButtonTitles :nil ]; 
     [alert show ]; 
     // 图标上的数字减1 
     application .applicationIconBadgeNumber -= 1
   
第三步:解除本地推送 
// 获得 UIApplication 
UIApplication *app = [ UIApplication sharedApplication ]; 
//获取本地推送数组 
NSArray *localArray = [app scheduledLocalNotifications ]; 
//声明本地通知对象 
UILocalNotification *localNotification; 
if (localArray) { 
     for ( UILocalNotification *noti in localArray) { 
         NSDictionary *dict = noti .userInfo
         if (dict) { 
             NSString *inKey = [dict objectForKey : @"key" ]; 
             if ([inKey isEqualToString : @"对应的key值" ]) { 
                 if (localNotification){ 
                     [localNotification release ]; 
                     localNotification = nil
                
                 localNotification = [noti retain ]; 
                 break; 
            
        
    
      
     //判断是否找到已经存在的相同key的推送 
     if (!localNotification) { 
         //不存在初始化 
         localNotification = [[ UILocalNotification alloc ] init ]; 
    
      
     if (localNotification) { 
         //不推送 取消推送 
         [app cancelLocalNotification :localNotification]; 
         [localNotification release ]; 
         return
    
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值