Sejak pembaruan Android 6.0 pada Nexus 5, setiap kali saya mendapat pemberitahuan 'Masuk ke jaringan WiFi' telepon bergetar. Adakah ide di mana saya dapat mematikan ini sambil menjaga getaran untuk panggilan, SMS, pesan WhatsApp, dll?
17
Jawaban:
Ada solusi yang melibatkan mode Prioritas jangan ganggu saja .
Sederhananya, Anda harus menggunakan Prioritas saja (dari Pengaturan Cepat - Jangan ganggu ) karena memiliki pengaturan per-aplikasi untuk peringatan notifikasi yang dapat menimpa pengaturan default sistem. Mode Prioritas saja masih akan menampilkan semua pemberitahuan. Namun, hanya pemberitahuan prioritas yang akan diperingatkan (suara, getaran, dan lampu LED).
Idenya adalah untuk memperlakukan semua pemberitahuan sebagai prioritas (dari Pengaturan - Suara & pemberitahuan - Pemberitahuan aplikasi - [nama aplikasi] - Perlakukan sebagai prioritas) kecuali untuk pemberitahuan portal captive, yang berada di bawah aplikasi Sistem Android (secara default, aplikasi sistem tidak terdaftar Anda perlu mencentang Tampilkan sistem dari menu melimpah. Biarkan aplikasi ini sebagai bukan prioritas, tetapi jangan lupa untuk sisa aplikasi sistem).
Namun, ada beberapa kelemahan yang mungkin Anda pertimbangkan terlebih dahulu sebelum menggunakan solusi ini:
sumber
TL; DR
Jika Anda masih ingin memiliki getaran pada semua notifikasi kecuali untuk captive portal (masalah khusus ini) , saya khawatir Anda tidak bisa .
Seolah dbasch disebutkan dalam komentar , bahwa getaran (sebenarnya, pemberitahuan peringatan itu sendiri) ditambahkan di Marshmallow.
Detail Teknis
Ketika Android mendeteksi bahwa WiFi harus masuk ke captive portal, seperti yang sudah Anda perhatikan, itu akan membuat pemberitahuan. Ini dilakukan oleh
setProvNotificationVisibleIntent()
fungsi dalamConnectivityService
.Kode yang relevan dengan peringatan notifikasi yang digunakan di Android 6.0 Marshmallow :
Perhatikan bahwa
Notification.DEFAULT_ALL
akan " menggunakan semua nilai default (jika ada) ", yang artinya tergantung pada pengaturan notifikasi sistem Anda (suara, getaran, dan lampu LED).Dibandingkan dengan yang ada di Android 5.x Lollipop , kodenya adalah:
Tidak lebih, tidak kurang. Itu kode yang relevan.
new Notification()
akan " membangunNotification
objek dengan nilai default ". Meskipun tampaknya tidak ada perubahan artinya, perhatikan bahwadefaults
tidak ditetapkan / diinisialisasi keNotification.DEFAULT_ALL
(nilai: -1). Sebagai gantinya, karena tidak ada inisialisasi, itu akan default ke 0, yang tidak ada peringatan .Entah itu bug yang diabaikan oleh Google yang telah diperbaiki di Marshmallow atau tidak, saya tidak tahu. Juga, itulah alasan mengapa tidak ada peringatan di Android Lollipop, tetapi sekarang ada di Android Marshmallow.
sumber
Satu-satunya cara saya menemukan untuk menghilangkan getaran yang mengganggu adalah dengan menonaktifkan sepenuhnya notifikasi 'wifi yang tersedia'. Untuk melakukannya, masuk ke pengaturan-> wifi -> ketuk pada tiga titik vertikal -> buka 'pengaturan lanjutan' dan nonaktifkan pemberitahuan untuk jaringan wifi yang dapat diakses secara publik. Menunggu perbaikan, saya pikir itu adalah satu-satunya solusi dan tidak terlalu buruk untuk menonaktifkannya, saya selalu menganggap mereka cukup tidak berguna.
sumber
Pengaturan> Aplikasi> Layanan Konektivitas Google> Pemberitahuan> Blokir mematikannya sepenuhnya.
sumber
Pemberitahuan itu diinisiasi oleh Sistem Android (
android
). Anda dapat menggunakan appops untuk menolak izin Sistem Android untuk bergetar perangkat dalam situasi apa pun. Asalkan Anda memiliki pengaturan adb di PC, lakukan:Coba sambungkan ke Wi-Fi tanpa akses internet. Anda masih akan mendapatkan notifikasi itu tetapi tanpa getaran. Jika Anda juga bermaksud menyembunyikan pemberitahuan itu, Anda dapat mengikuti sisa jawaban yang diposting di sini atau di situs web ini.
Untuk mengembalikan perubahan, lakukan:
Getaran untuk panggilan dimulai oleh aplikasi Dialer, untuk SMS itu akan menjadi aplikasi SMS default Anda, untuk pesan WhatsApp, itu adalah aplikasi yang sama, sehingga mereka tidak akan terpengaruh. Mungkin ada konsekuensi tak terduga dari perintah yang tidak saya sadari, jadi beri tahu saya tentang mereka melalui komentar.
Catatan: solusi ini diuji pada CM13 build tidak resmi.
sumber