我試圖取消通知我已經請求發送給用戶,如果另一個通知嘗試在第一個通知的15秒內發送。在顯示android取消安排的通知之前
這是我的代碼:
全局變量:
public NotificationManager nm;
通知功能:
final NotificationCompat.Builder b = new NotificationCompat.Builder(this);
b.setAutoCancel(true)
.setDefaults(NotificationCompat.DEFAULT_ALL)
.setSmallIcon(R.mipmap.ic_launcher)
.setLargeIcon(BitmapFactory.decodeResource(getResources(),
R.mipmap.ic_launcher))
.setContentTitle(title)
.setContentText(message);
if (nm != null) {
Log.d(TAG, "notifyThis: cancelled");
nm.cancelAll();
} else {
Log.d(TAG, "notifyThis: not cancelled");
}
nm = (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
nm.notify(1, b.build());
Log.d(TAG, "notifyThis: notify");
}
}, 15000);
我注意到,直到通知發佈納米保持空,因此這個方法沒有按不起作用,但我需要一種方式在創建通知之後以及在通過.notify發佈之前刪除通知。
感謝。
請顯示完整的示例。你應該包括類和方法聲明。 –
您可以調用alarmManager.cancel(pendingIntent);閱讀更多在這裏:http://stackoverflow.com/questions/30075196/how-can-i-cancel-unshown-notifications-in-android –