Apakah mungkin untuk menghapus notifikasi secara terprogram?
Saya mencobanya dengan NotificationManager
tetapi tidak berhasil. Apakah ada cara lain yang bisa saya lakukan?
android
notifications
rahul
sumber
sumber
Jawaban:
Gunakan kode berikut untuk membatalkan Pemberitahuan:
Dalam kode ini selalu ada id yang sama yang digunakan untuk notifikasi. Jika Anda memiliki pemberitahuan berbeda yang perlu dibatalkan, Anda harus menyimpan id yang Anda gunakan untuk membuat Pemberitahuan.
sumber
setContentText
) meskipun saya menetapkan prioritas ke 2. Ada saran?Dari: http://developer.android.com/guide/topics/ui/notifiers/notifications.html
Tetapi Donal benar, Anda hanya dapat menghapus pemberitahuan yang Anda buat.
sumber
Karena tidak ada yang memposting kode jawaban untuk ini:
.. dan jika Anda sudah memiliki bendera, Anda dapat ATAU FLAG_AUTO_CANCEL seperti ini:
sumber
notifcation.flags |= Notification.FLAG_AUTO_CANCEL;
Silakan coba metode default yang diberikan ke NotificationManager .
NotificationManager.cancelAll()
untuk menghapus semua notifikasi.NotificationManager.cancel(notificationId)
untuk menghapus pemberitahuan tertentu.sumber
cancel
metode,cancel
metode ini tidak statis, jadi Anda memerlukan contohNotificationManager
seperti ini:NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
Kemudian Anda dapat memanggilnotificationManager.cancel(notificationId);
seperti Rohit Suthar yang direferensikan dalam jawabannya.notificationId
hanyalah ID yang AndanotificationManager.notify(notificationId, mNotification)
Dimulai dengan API level 18 (Jellybean MR2), Anda dapat membatalkan Notifikasi selain milik Anda sendiri melalui NotificationListenerService.
...
sumber
.setAutoCancel (true)
ketika Anda mengklik notifikasi, buka aktivitas yang sesuai dan hapus notifikasi dari bilah notifikasi
sumber
Jika Anda membuat Pemberitahuan dari Layanan yang dimulai di latar depan menggunakan
Kemudian menerbitkan
tidak berakhir dengan membatalkan Pemberitahuan, dan pemberitahuan masih muncul di bilah status. Dalam kasus khusus ini, Anda perlu mengeluarkan
dari dalam layanan untuk mengembalikannya ke mode latar belakang dan sekaligus membatalkan notifikasi. Bergantian, Anda dapat mendorongnya ke latar belakang tanpa harus membatalkan pemberitahuan dan kemudian membatalkan pemberitahuan.
sumber
Jika Anda menggunakan
NotificationCompat.Builder
(bagian dariandroid.support.v4
) maka cukup panggil metode objeknyasetAutoCancel
Beberapa pria melaporkan bahwa
setAutoCancel()
tidak berhasil untuk mereka, jadi Anda dapat mencoba cara ini jugaPerhatikan bahwa metode
getNotification()
ini tidak digunakan lagi !!!sumber
ini berfungsi jika Anda menggunakan pembuat notifikasi ...
sumber
untuk referensi lebih lanjut klik di sini http://androiddhina.blogspot.in/2015/01/how-to-clear-notification-in-android.html
sumber
Sebenarnya seperti yang dijawab sebelum memulai dengan API Level 18 Anda dapat membatalkan Notifikasi yang diposting oleh aplikasi lain yang berbeda dari milik Anda menggunakan NotificationListenerService tetapi pendekatan itu tidak akan berfungsi lagi di Lollipop, berikut adalah cara untuk menghapus notifikasi yang juga mencakup API Lillipop.
sumber
cancelNotification
apa itu?Semua notifikasi (bahkan notifikasi aplikasi lainnya) dapat dihapus dengan mendengarkan 'NotificationListenerService' seperti yang disebutkan dalam NotificationListenerService Implementation
Dalam layanan, Anda harus menelepon
cancelAllNotifications()
.Layanan harus diaktifkan untuk aplikasi Anda melalui:
'Aplikasi & notifikasi' -> 'Akses aplikasi khusus' -> 'Akses notifikasi'.
sumber
kode ini bekerja untuk saya:
sumber
Saya percaya yang paling TERBARU dan DIPERBARUI untuk AndroidX dan kompatibilitas mundur. Cara terbaik untuk melakukannya (Kotlin dan Java) harus dilakukan sebagai:
Atau untuk membatalkan semua notifikasi adalah:
Dibuat untuk AndroidX atau Pustaka Dukungan.
sumber