iphone - How to increment/decrement application.badge number for UILocalnotification -


i have uilocalnotification when multiple notification fired want application badge number increment , when notification seen want application badge number decrease depending upon how many notification cancelled / watched notification

 - (uilocalnotification *)schedulenotification :(int)remedyid {         nsstring *descriptionbody;         nsinteger frequency;          uilocalnotification *notif = [[uilocalnotification alloc] init];           descriptionbody =[[self remedydetailsforremedyid:remedyid] objectforkey:@"remedytxtdic"];         frequency = [[[self remedydetailsforremedyid:remedyid] objectforkey:@"remedyfrequency"]intvalue];          nsarray *notificationfiredates = [self firedatesforfrequency:frequency];          (nsdate *firedate in notificationfiredates)         {                 notif.timezone = [nstimezone defaulttimezone];                   notif.repeatinterval = nsdaycalendarunit;                 notif.alertbody = [nsstring stringwithstring:descriptionbody];                 notif.alertaction = @"show me";                 notif.soundname = uilocalnotificationdefaultsoundname;                  notif.applicationiconbadgenumber = 1;                  notif.firedate = firedate;                   nsdictionary *userdict = [nsdictionary dictionarywithobjectsandkeys:notif.alertbody,                                         @"kremindmenotificationdatakey",  [nsnumber numberwithint:remedyid],kremindmenotificationremedyidkey,                                           nil];                  notif.userinfo = userdict;                  [[uiapplication sharedapplication] schedulelocalnotification:notif];             }              return notif;  }  }  - (void)cancelnotification:(int)remedyid {       nsarray *notifications = [[uiapplication sharedapplication] scheduledlocalnotifications];     nslog(@"cancelling... before %d",[[[uiapplication sharedapplication]scheduledlocalnotifications]count]);      (uilocalnotification *notification in notifications)     {          int notifremedyid = [[notification.userinfo objectforkey:@"kremindmenotificationremedyidkey"]intvalue];          nslog(@"remedyid  : %d",remedyid);         nslog(@"notifyid : %d",notifremedyid);         if (remedyid == notifremedyid)         {             [[uiapplication sharedapplication] cancellocalnotification:notification];         }      }      nslog(@"cancelling... after %d",[[[uiapplication sharedapplication]scheduledlocalnotifications]count]);  } 

you can use these 2 methods,

-(void) incrementonebadge{     nsinteger numberofbadges = [uiapplication sharedapplication].applicationiconbadgenumber;     numberofbadges +=1;      [[uiapplication sharedapplication] setapplicationiconbadgenumber:numberofbadges]; }  -(void) decrementonebdge{     nsinteger numberofbadges = [uiapplication sharedapplication].applicationiconbadgenumber;     numberofbadges -=1;      [[uiapplication sharedapplication] setapplicationiconbadgenumber:numberofbadges]; } 

Comments

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

qt - Errors in generated MOC files for QT5 from cmake -