2014-05-23 17 views
6

Bất kỳ ai biết cách nhận thông báo bằng id? Đó là tôi muốn khi nhận được một thông báo mới nếu nó vẫn đang được hiển thị trên thanh trạng thái của Android muốn lấy thông tin và thêm nó vào một thông báo mới. Cảm ơn bạn.notificationManager nhận thông báo theo Id

Trả lời

11

NotificationManager không cung cấp cho bạn cách tìm thông báo hiện có theo ID. Nếu bạn muốn cập nhật thông báo, hãy đăng thông báo mới nhưng sử dụng cùng một ID. Nó sẽ hiển thị nó dưới dạng mới hoặc cập nhật thông báo hiện có với ID đó.

+0

Điều này sẽ thay thế thông báo cũ? –

+1

Trực tiếp từ tài liệu: "Nếu thông báo có cùng id đã được đăng bởi ứng dụng của bạn và chưa được hủy, nó sẽ được thay thế bằng thông tin cập nhật". https://developer.android.com/reference/android/app/NotificationManager.html#notify(int,%20android.app.Notification) – Karakuri

+4

Cảm ơn Karakuri, tôi đã giải quyết được vấn đề của mình bằng cách sử dụng sharedpreferences Tôi lưu trữ dữ liệu trong đó và tôi sử dụng cập nhật. –

0

Bạn có thể nhận danh sách thông báo hoạt động từ NotificationManager.

public boolean isNotificationActive(int notificationId) { 
    NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 
    StatusBarNotification[] barNotifications = notificationManager.getActiveNotifications(); 
    for(StatusBarNotification notification: barNotifications) { 
     if (notification.getId() == notificationId) { 
      return true; 
     } 
    } 
    return false; 
} 
+1

yêu cầu API 23 trở lên – SolidSnake

Các vấn đề liên quan