iOS 本地通知

//联系人:石虎  QQ: 1224614774 昵称:嗡嘛呢叭咪哄


/**

注意:本地通知 直接拷贝到AppDelegate.h文件中,和主控制器中即可完成

*/

效果:



=======================================================

#import "AppDelegate.h"


@implementation AppDelegate

// 只有当应用在前台时,该方法才会被调用

- (void)application:(UIApplication *)application

didReceiveLocalNotification:(UILocalNotification*)notification{

// 如果应用程序在前台,将应用程序图标上红色徽标中数字设为0

  

application.applicationIconBadgeNumber = 0;

// 使用UIAlertView显示本地通知的信息

[[[UIAlertView alloc] initWithTitle:@"收到通知"

message:notification.alertBody

delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil] show];

}


=========================主控制器==============================

XIB 连线图:


#import "ViewController.h"


@interface ViewController ()

{

UIApplication *app;

}

@end

@implementation ViewController

- (void)viewDidLoad

{

    [super viewDidLoad];

app = [UIApplication sharedApplication];

}

- (IBAction)changed:(id)sender

{

UISwitch* sw = (UISwitch*) sender;

if (sw.on)

{

        

        if([UIApplication instancesRespondToSelector:@selector(registerUserNotificationSettings:)])

        {

            [[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound categories:nil]];

        }

        

// 创建一个本地通知

UILocalNotification *notification = [[UILocalNotification alloc]init];

// 设置通知的触发时间

        notification.fireDate = [NSDate dateWithTimeIntervalSinceNow:10];

// 设置通知的时区

notification.timeZone = [NSTimeZone defaultTimeZone];

// 设置通知的重复发送的事件间隔

notification.repeatInterval = kCFCalendarUnitHour;

// 设置通知的声音

notification.soundName = @"gu.mp3";

        //通知标题

        notification.alertTitle=@"我是标题";

// 设置当设备处于锁屏状态时,显示通知的警告框下方的title

notification.alertAction = @"打开";

// 设置通知是否可显示Action

notification.hasAction = YES;

// 设置通过通知加载应用时显示的图片

notification.alertLaunchImage = @"logo.png";

// 设置通知内容

notification.alertBody = @",好几天????,想念你了!";

// 设置显示在应用程序上红色徽标中的数字

notification.applicationIconBadgeNumber = 10;

// 设置userinfo,用于携带额外的附加信息。

NSDictionary *info = @{@"bys": @"key"};

notification.userInfo = info;

// 调度通知

[app scheduleLocalNotification:notification];  //

}

else

{

// 获取所有处于调度中本地通知数组

NSArray *localArray = [app scheduledLocalNotifications];

if (localArray)

{

for (UILocalNotification *noti in localArray)

{

NSDictionary *dict = noti.userInfo;

if (dict)

{

// 如果找到要取消的通知

NSString *inKey = [dict objectForKey:@"key"];

if ([inKey isEqualToString:@"bys"])

{

// 取消调度该通知

[app cancelLocalNotification:noti];  // 

}

}

}

}

}

}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值