• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

ios本地推送方法

OC/C/C++ 水墨上仙 1635次浏览

ios本地推送方法

第一步:创建本地推送&nbsp&nbsp

// 创建一个本地推送  
UILocalNotification *notification = [[[UILocalNotification alloc] init] autorelease];  
//设置10秒之后  
NSDate *pushDate = [NSDate dateWithTimeIntervalSinceNow:10];  
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];   
      
}  
   

第二步:接收本地推送&nbsp&nbsp

- (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;  
}  
   

第三步:解除本地推送&nbsp&nbsp

// 获得 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;  
    }  
}


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明ios本地推送方法
喜欢 (0)
加载中……