我正在使用
在设置通知之前,我想要一个按钮显示"设置提醒",设置完通知后,我希望按钮显示"更改提醒"。一旦通知显示给用户,按钮应再次显示"设置提醒"。
我使用相同的
现在这个代码可以运行,按钮文本也正常显示。但是我发现一旦通知被显示出来,除非我显式地检索相同的
PendingIntent
与AlarmManager
和BroadcastReceiver
来在用户指定的时间显示提醒。我正在使用NotificationManager
显示提醒。在设置通知之前,我想要一个按钮显示"设置提醒",设置完通知后,我希望按钮显示"更改提醒"。一旦通知显示给用户,按钮应再次显示"设置提醒"。
我使用相同的
PendingIntent
、相同的意图和上下文以及相同的唯一标识符(myUniqueId)来创建它,以检查PendingIntent
是否处于活动状态。Intent intent = new Intent(context, ReminderReceiver.class);
boolean reminderActive = (PendingIntent.getBroadcast(context, myUniqueId, intent, PendingIntent.FLAG_NO_CREATE) != null);
现在这个代码可以运行,按钮文本也正常显示。但是我发现一旦通知被显示出来,除非我显式地检索相同的
PendingIntent
并将其取消,否则它不会立即被删除,因此有一段时间,按钮仍然显示“更改提醒”。那么可以认为,除非我显式地取消PendingIntent,否则它仍将存储在内存中以供垃圾收集器进行回收吗?