Android 4.1 menawarkan pengguna kotak centang untuk menonaktifkan pemberitahuan untuk aplikasi tertentu.
Namun, sebagai pengembang kami tidak memiliki cara untuk mengetahui apakah panggilan untuk memberi tahu itu efektif atau tidak.
Saya benar-benar perlu memeriksa apakah pemberitahuan dinonaktifkan untuk aplikasi saat ini tetapi saya tidak dapat menemukan pengaturan apa pun untuk itu di API.
Apakah ada cara untuk memeriksa pengaturan ini di dalam kode?
android
android-notifications
android-notification-bar
Guillaume Perrot
sumber
sumber
Jawaban:
Anda tidak bisa 100% tidak bisa.
Hal ini ditanyakan dalam video Google I / O 2012 ini dan pimpinan Proyek untuk pemberitahuan baru menyatakan bahwa Anda tidak bisa.
Edit
Pembaruan 2016: Sekarang Anda dapat memeriksanya, seperti yang dikatakan dalam video Google I / O 2016 ini .
Gunakan
NotificationManagerCompat.areNotificationsEnabled()
, dari pustaka dukungan, untuk memeriksa apakah pemberitahuan diblokir di API 19+. Versi di bawah API 19 akan mengembalikan true (pemberitahuan diaktifkan).sumber
NotificationManagerCompat.from(ctx).areNotificationsEnabled()
Sebenarnya ini cukup mudah dilakukan:
sumber
Jawaban dari @blundell benar tetapi ada perubahan kecil di versi yang lebih baru.
sumber
Jika Anda menggunakan Xamarin dan membutuhkan jawaban ini, Anda dapat menggunakan kode ini:
sumber
Sepertinya tidak ada cara untuk menanyakan status pemberitahuan.
Saya merekomendasikan ini:
Tidak 100% benar. Tapi ini memberi pendapat.
Misalnya jika pengguna tidak mengklik notifikasi aplikasi apa pun selama 10-15 hari, mungkin dia menonaktifkannya
sumber
Saya menggunakan metode ini untuk memeriksa apakah notifikasi diaktifkan atau tidak, metode yang disebutkan di atas akan berfungsi untuk memeriksa apakah notifikasi diaktifkan atau tidak. Tapi dari Android 8 dan seterusnya untuk membuat notifikasi kita harus membuat channel dulu , jadi dari Oreo, kita harus mengecek apakah channel notifikasi kamu sudah aktif atau belum .
sumber