我编写了一个警报系统,它与信息所在的服务器同步。
有时,在服务器上的更新中,一些警报会被删除。现在,它已从数据库 db4o 中删除,但我无法取消已编程的 pendingIntents。
现在,我有以下代码:
PendingIntent pendingIntent;
public class xxx{
public void updateObjects(){
alarmManager.cancel(pendingIntent);//delete all alarms
(...)
for(...){
//Update each object ofdb4o with the new object value's.
(...)
doIntents(context,mil,obj);
}
(...)
}
public void doIntents(Context context, long mil, ClassObjects obj){
(...)
pendingIntent = PendingIntent.getBroadcast(context, obj.getId(), intent, PendingIntent.FLAG_UPDATE_CURRENT);
(...)
}
}
任何人都可以帮我取消那些我不需要的待定 Intent 吗?
谢谢!!!
最佳答案
要取消 PendingIntent,您必须传递与设定时间相同的 ID
。
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, obj.getId(), intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager = (AlarmManager) context.getSystemService(ALARM_SERVICE);
alarmManager.cancel(pendingIntent);
关于android - 无法取消 PendingIntents - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12257128/