ISO本地推送實現(xiàn)方法及代碼

APPDelegate需要實現(xiàn)的代碼為:

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

{

// 如果應(yīng)用程序在前臺,將應(yīng)用程序圖標上紅色徽標中數(shù)字設(shè)為0

application.applicationIconBadgeNumber = 0;

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

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

message:notification.alertBody

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

}

控制器需要實現(xiàn)的代碼為:

編輯一個UIApplication *app;對象 并且初始化

app = [UIApplication sharedApplication];

設(shè)置一個按鈕實現(xiàn)以下代碼

- (IBAction)KaiGuan:(id)sender

{

UISwitch * swich = (UISwitch *)sender;

if(swich.on)

{

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

{

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

}

//創(chuàng)建一個本地通知

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

//設(shè)置一個通知觸發(fā)時間

notification.fireDate = [NSDate dateWithTimeIntervalSinceNow:5];

//設(shè)置一個通知時區(qū)

notification.timeZone = [NSTimeZone defaultTimeZone];

// 設(shè)置通知的重復(fù)發(fā)送的事件間隔

notification.repeatInterval = kCFCalendarUnitHour;

// 設(shè)置通知的聲音

notification.soundName = @"gu.mp3";

//通知標題

notification.alertTitle=@"本地通知";

// 設(shè)置當設(shè)備處于鎖屏狀態(tài)時,顯示通知的警告框下方的title

notification.alertAction = @"打開";

// 設(shè)置通知是否可顯示Action

notification.hasAction = YES;

// 設(shè)置通過通知加載應(yīng)用時顯示的圖片

notification.alertLaunchImage = @"logo.png";

// 設(shè)置通知內(nèi)容

notification.alertBody = @"本地推送通知";

// 設(shè)置顯示在應(yīng)用程序上紅色徽標中的數(shù)字

notification.applicationIconBadgeNumber = 1;

// 設(shè)置userinfo,用于攜帶額外的附加信息。

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

notification.userInfo = info;

// 調(diào)度通知

[app scheduleLocalNotification:notification];? // ①

}

else

{

NSArray * localArray = [app scheduledLocalNotifications];

if(localArray)

{

for (UILocalNotification * noti in localArray)

{

NSDictionary * dic = noti.userInfo;

if(dic)

{

NSString * inkey = [dic objectForKey:@"key"];

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

{

[app cancelLocalNotification:noti];

}

}

}

}

}

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容