本地推送

1.AppDelegate.m里

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

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

application.applicationIconBadgeNumber=0;

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

[[[UIAlertViewalloc]initWithTitle:@"收到通知"

message:notification.alertBody

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

}

2.發(fā)送通知按鈕實現(xiàn)方法

if([UIApplicationinstancesRespondToSelector:@selector(registerUserNotificationSettings:)])

{

[[UIApplicationsharedApplication]registerUserNotificationSettings:[UIUserNotificationSettingssettingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSoundcategories:nil]];

}


//創(chuàng)建本地通知對象

UILocalNotification*ln = [[UILocalNotificationalloc]init];

//1.設置通知的內(nèi)容(如果此屬性不設置是不會發(fā)送通知的)

ln.alertBody=@"小明,你媽叫你回家吃飯了!";

//2.設置通知觸發(fā)的開始時間

ln.fireDate= [NSDatedateWithTimeIntervalSinceNow:10];

//3.設置重復通知的時間,間隔

ln.repeatInterval=kCFCalendarUnitMinute;

ln.timeZone= [NSTimeZonedefaultTimeZone];

//5.設置應用圖標右上角的數(shù)字

ln.applicationIconBadgeNumber=3;

ln.hasAction=YES;

//6.設置點擊推送通知進入界面的時候顯示,加載圖片

ln.alertLaunchImage=@"";

//8設置一些額外信息

ln.userInfo=@{@"QQ":@"55555",@"info":@"約了沒"};

//讓應用調(diào)度通知

[[UIApplicationsharedApplication]scheduleLocalNotification:ln];


3.取消發(fā)送通知

//獲取所有處于調(diào)度中本地通知數(shù)組

NSArray*localArray = [[UIApplicationsharedApplication]scheduledLocalNotifications];

if(localArray)

{

for(UILocalNotification*notiinlocalArray)

{

NSDictionary*dict = noti.userInfo;

if(dict)

{

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

NSString*inKey = [dictobjectForKey:@"QQ"];

if([inKeyisEqualToString:@"55555"])

{

//取消調(diào)度該通知

[[UIApplicationsharedApplication]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ā)布平臺,僅提供信息存儲服務。

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

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