Tôi đã tạo một ứng dụng và với sự kiện tôi quản lý để thêm thông báo vào thanh thông báo Android. Bây giờ tôi cần mẫu làm thế nào để loại bỏ thông báo đó từ thanh thông báo trên một sự kiện ??Android: xóa thông báo khỏi thanh thông báo
Trả lời
Điều này khá đơn giản. Bạn phải gọi cancel
hoặc cancelAll
trên NotificationManager của mình. Tham số của phương thức hủy là ID của thông báo sẽ bị hủy.
Xem API: http://developer.android.com/reference/android/app/NotificationManager.html#cancel(int)
Cảm ơn Roflcoptr :) Tôi tìm thấy nó ở đây: http://stackoverflow.com/questions/2839727/remove-the-notification-icon-from-the-status-bar – Nezir
riêng cuối cùng tĩnh int MY_NOTIFICATION_ ID = 1234; Chuỗi ns = Ngữ cảnh.NOTIFICATION_SERVICE; NotificationManager mNotificationManager; mNotificationManager = (NotificationManager) getSystemService (ns); mNotificationManager.notify (MY_NOTIFICATION_ID, thông báo); Mã ví dụ chưa hoàn thành. Nó phụ thuộc vào cách bạn tạo thông báo của mình. Chỉ cần đảm bảo bạn sử dụng cùng một id để hủy thông báo của mình khi bạn đã sử dụng khi tạo thông báo. Để hủy: mNotificationManager.cancel (MY_NOTIFICATION_ID); – Nezir
Bạn đã lưu trong ngày !, một niềm vui khi đọc những người như bạn, mặc dù họ không phải là câu trả lời phức tạp cho những vấn đề phức tạp mà những người như bạn giúp chúng tôi rất nhiều trong những thời điểm khó khăn. Cảm ơn nhiều. –
Bạn có thể thử mã này nhanh chóng
public static void cancelNotification(Context ctx, int notifyId) {
String ns = Context.NOTIFICATION_SERVICE;
NotificationManager nMgr = (NotificationManager) ctx.getSystemService(ns);
nMgr.cancel(notifyId);
}
Đây phải là câu trả lời đúng bởi vì nó đơn giản, chính xác và được chuyển thẳng đến điểm. – ZeroTek
Xin chào, đây là câu trả lời đúng. Nhưng Khay thông báo vẫn hiển thị. Có cách nào để che giấu nó không? Ví dụ: tôi có hai hành động được liên kết với Thông báo: hủy và hoàn tất. Khi một trong các hành động này được thực hiện, tôi sẽ xóa thông báo. Nhưng làm điều này nó chỉ loại bỏ các thông báo nhưng khay thông báo vẫn còn nhìn thấy được. –
Sử dụng NotificationManager để hủy bỏ thông báo của bạn. Bạn chỉ cần cung cấp id thông báo
mNotificationManager.cancel (YOUR_NOTIFICATION_ID);
cũng kiểm tra liên kết này See Developer Link
Bạn cũng có thể gọi cancelAll
trên người quản lý thông báo, vì vậy bạn thậm chí không phải lo lắng về các id thông báo.
NotificationManager notifManager= (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
notifManager.cancelAll();
CHỈNH SỬA: Tôi đã bị bỏ phiếu vì vậy có thể tôi nên xác định rằng điều này sẽ chỉ xóa thông báo khỏi ứng dụng của bạn.
chỉ cần đặt setAutoCancel (True) như đoạn mã sau:
Intent resultIntent = new Intent(GameLevelsActivity.this, NotificationReceiverActivityAdv.class);
PendingIntent resultPendingIntent =
PendingIntent.getActivity(
GameLevelsActivity.this,
0,
resultIntent,
PendingIntent.FLAG_UPDATE_CURRENT
);
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
getApplicationContext()).setSmallIcon(R.drawable.icon)
.setContentTitle(adv_title)
.setContentText(adv_desc)
.setContentIntent(resultPendingIntent)
//HERE IS WHAT YOY NEED:
.setAutoCancel(true);
NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
manager.notify(547, mBuilder.build());`
Nếu bạn đang tạo Thông báo từ một dịch vụ được bắt đầu trong foreground sử dụng
startForeground(NOTIFICATION_ID, notificationBuilder.build());
Sau đó phát hành
notificationManager.cancel(NOTIFICATION_ID);
không hoạt động hủy thông báo & thông báo vẫn xuất hiện trên thanh trạng thái. Trong trường hợp đặc biệt này, bạn sẽ giải quyết những bằng 2 cách:
1> Sử dụng stopForeground (false) bên trong dịch vụ:
stopForeground(false);
notificationManager.cancel(NOTIFICATION_ID);
2> Phá hủy rằng lớp dịch vụ với các hoạt động kêu gọi:
Intent i = new Intent(context, Service.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
if(ServiceCallingActivity.activity != null) {
ServiceCallingActivity.activity.finish();
}
context.stopService(i);
Cách thứ hai thích trong thông báo trình phát nhạc nhiều hơn vì thay cách không chỉ xóa thông báo mà còn xóa p lớp cũng ... !!
Cảm ơn câu trả lời của bạn! Sử dụng 'stopForeground (đúng); manager.cancelAll(); 'là những gì đã giải quyết nó cho tôi! – Sky
này sẽ giúp:
NotificationManager mNotificationManager = (NotificationManager)
getSystemService(NOTIFICATION_SERVICE);
mNotificationManager.cannelAll();
và nếu bạn tạo một thông báo bằng cách gọi
startForeground();
bên trong một Service.you có thể phải gọi
stopForeground(false);
Trước tiên, hãy
rồi hủy thông báo.
Trên Android API> = 23 bạn có thể thực hiện một số thao tác như thế này để xóa nhóm thông báo.
for (StatusBarNotification statusBarNotification : mNotificationManager.getActiveNotifications()) {
if (KEY_MESSAGE_GROUP.equals(statusBarNotification.getGroupKey())) {
mNotificationManager.cancel(statusBarNotification.getId());
}
}
NotificationManager.cancel(id)
là câu trả lời đúng. Tuy nhiên, bạn có thể xóa trong Android Oreo và thông báo sau bằng cách xóa toàn bộ kênh thông báo. Thao tác này sẽ xóa tất cả thư trong kênh đã xóa.
Dưới đây là ví dụ từ Android documentation:
NotificationManager mNotificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
// The id of the channel.
String id = "my_channel_01";
mNotificationManager.deleteNotificationChannel(id);
- 1. Xóa biểu tượng thông báo khỏi thanh trạng thái
- 2. xóa bóng thanh thông báo trong ứng dụng android
- 3. Xóa thanh thông báo trong ứng dụng Android
- 4. Thông báo Android chỉ phát âm thanh
- 5. Cách phát âm thanh thông báo android
- 6. Cách nhận thông báo khi thông báo được thông báo
- 7. Xóa thông báo khỏi trung tâm thông báo khi nhấp vào
- 8. Thông báo đẩy Android
- 9. Thông báo Android- Hiển thị toàn bộ thông báo
- 10. Thông báo DB SQLite Android
- 11. Thông báo SQS Không xóa
- 12. Nhấp vào Tác vụ thông báo của Android không đóng Ngăn thông báo
- 13. Android: thông báo từ BroadcastReceiver
- 14. Android: âm thanh thông báo vô hiệu hóa
- 15. Android: Quản lý nhiều thông báo trên thanh trạng thái
- 16. thông báo trên thanh trạng thái trong điện thoại android
- 17. Chỉ phát âm thanh thông báo mặc định (Android)
- 18. Xóa thông báo khi addAction được gọi?
- 19. Ngăn chặn nhiều âm báo thông báo android
- 20. Thông báo Xem từ xa Android
- 21. Tôi có thể xóa các thông báo ứng dụng của mình khỏi Trung tâm thông báo của iOS 5 không?
- 22. Mục đích thông báo của Android để tự xóa nó
- 23. python - các thanh thông báo in đẹp
- 24. Thanh thông báo trong Ruby on Rails
- 25. Nhận mã thông báo thiết bị cho thông báo đẩy sau khi ứng dụng bị xóa
- 26. Thông báo Android không hoạt động
- 27. Xóa thông điệp cảnh báo trong PHP
- 28. Xóa thông báo sau khi nhấp vào
- 29. Thông báo của Android không biến mất sau khi nhấp vào thông báo
- 30. Cách xác định xem ứng dụng Android có mở từ Thông báo thông báo không?
thể trùng lặp của [Di chuyển biểu tượng thông báo từ thanh trạng thái] (http://stackoverflow.com/questions/2839727/remove-the-notification- icon-from-the-status-bar) – rds
cho đoạn mã xem [Loại bỏ thông báo] (http://androidtrainningcenter.blogspot.in/2013/04/removing-status-bar-notification-from.html) – Sameer