I am adding some notification in my app and storing the data given in a database. Now I want to update the data stored in the database and I want to remove notification for previous data create notification for updated data. I’m using an arraylist of alarm manager with request codes incrementing. Can Anyone help me to delete the old notification and create new notification. If you need to see the code I will post it.
for(int i=0;i
if(j==0){
longobjDate=objDate.getTime();
longobjTime=objTime1.getTime();
long longDay=longobjDate+longobjTime+19800000;
Intent intent=new Intent(New_Med.this,Alarm_Reciever.class);
PendingIntent pendingIntent=PendingIntent.getBroadcast(New_Med.this, k, intent, 0);
AlarmManager alarmManager=(AlarmManager) getSystemService(ALARM_SERVICE);
alarmManagers.add(alarmManager);
alarmManagers.get(k).set(AlarmManager.RTC_WAKEUP, longDay, pendingIntent);
Toast.makeText(New_Med.this, "Alarm set", Toast.LENGTH_SHORT).show();
k=k+1;
db1.insertNotificationDetails(med_id, longobjDate, longobjTime);
}
if(j==1){
longobjDate=objDate.getTime();
longobjTime=objTime2.getTime();
long longDay=longobjDate+longobjTime+19800000;
Intent intent=new Intent(New_Med.this,Alarm_Reciever.class);
PendingIntent pendingIntent=PendingIntent.getBroadcast(New_Med.this, k, intent, 0);
AlarmManager alarmManager=(AlarmManager) getSystemService(ALARM_SERVICE);
alarmManagers.add(alarmManager);
alarmManagers.get(k).set(AlarmManager.RTC_WAKEUP, longDay, pendingIntent);
Toast.makeText(New_Med.this, "Alarm set", Toast.LENGTH_SHORT).show();
k=k+1;
db1.insertNotificationDetails(med_id, longobjDate, longobjTime);
}
if(j==2){
longobjDate=objDate.getTime();
longobjTime=objTime3.getTime();
long longDay=longobjDate+longobjTime+19800000;
Intent intent=new Intent(New_Med.this,Alarm_Reciever.class);
PendingIntent pendingIntent=PendingIntent.getBroadcast(New_Med.this, k, intent, 0);
AlarmManager alarmManager=(AlarmManager) getSystemService(ALARM_SERVICE);
alarmManagers.add(alarmManager);
alarmManagers.get(k).set(AlarmManager.RTC_WAKEUP, longDay, pendingIntent);
Toast.makeText(New_Med.this, "Alarm set", Toast.LENGTH_SHORT).show();
k=k+1;
db1.insertNotificationDetails(med_id, longobjDate, longobjTime);
}
if(j==3){
longobjDate=objDate.getTime();
longobjTime=objTime4.getTime();
long longDay=longobjDate+longobjTime+19800000;
Intent intent=new Intent(New_Med.this,Alarm_Reciever.class);
PendingIntent pendingIntent=PendingIntent.getBroadcast(New_Med.this, k, intent, 0);
AlarmManager alarmManager=(AlarmManager) getSystemService(ALARM_SERVICE);
alarmManagers.add(alarmManager);
alarmManagers.get(k).set(AlarmManager.RTC_WAKEUP, longDay, pendingIntent);
Toast.makeText(New_Med.this, "Alarm set", Toast.LENGTH_SHORT).show();
k=k+1;
db1.insertNotificationDetails(med_id, longobjDate, longobjTime);
}
}
long t=objDate.getTime();
t=t+(24*60*60*1000);
objDate= new Date(t);
}
I am saving alarm managers like this. I’m totally new to android. So please help me by a coded example way…
Find the request code of the particular notification and use AlarmManager class object to cancel
the pending intent.
For Example:
If you cancel using alarm manager, then its notification can also be cancelled since it gets initiated from alarm manager.