我无法弄清楚如何取消先前设置的LED notification
。首先我称之为init:
private void initNoti() {
mNoti = new Notification.Builder(this)
.setContentTitle("Main Gate")
.setContentText(s_clUnregistered)
.setSmallIcon(R.drawable.nocon)
.setOngoing(true)
.setShowWhen(false)
.setContentIntent(notiPendingIntent)
.build();
startForeground(noti_id, mNoti);
}
之后,我在运行时修改它:
private void setNoti(String msg) {
mBuilder.setContentTitle(s_mgStrin g);
mBuilder.setContentText(s_clUnregistered);
mBuilder.setSmallIcon(R.drawable.nocon);
mBuilder.setShowWhen(false);
mBuilder.setContentIntent(notiPendingIntent);
mNotifyManager.notify(noti_id, mBuilder.build());
}
...并设置一些LED通知:
private void setLedNoti() {
mBuilder.setPriority(Notification.PRIORITY_MAX);
mBuilder.setLights(0xffff0000, 300, 100);
mNotifyManager.notify(noti_id, mBuilder.build());
}
这一切都发生在服务中。
mNoti
,mBuilder
,mNotifyManager
是类变量。
但是,任何时候,我都要取消LED notification
。因此我拨打mNotifyManager.cancel(noti_id);
不幸的是,LED notifciation
仍在闪烁。它无法取消。有没有人知道如何实现这个目标?