Nexus 5'teki Android 6.0 güncellemesinden bu yana, 'Kablosuz ağda oturum aç' bildirimini her aldığımda telefon titriyor. Aramalar, SMS, WhatsApp mesajları vb. İçin titreşimi korurken bunu kapatabileceğim herhangi bir fikir?
Nexus 5'teki Android 6.0 güncellemesinden bu yana, 'Kablosuz ağda oturum aç' bildirimini her aldığımda telefon titriyor. Aramalar, SMS, WhatsApp mesajları vb. İçin titreşimi korurken bunu kapatabileceğim herhangi bir fikir?
Yanıtlar:
Rahatsız etmeyin'in Yalnızca Öncelik modunu içeren bir geçici çözüm vardır .
Basitçe söylemek gerekirse, sistemin varsayılan ayarlarının üzerine yazabilecek bildirim uyarısı için uygulama başına ayarlara sahip olduğundan yalnızca Öncelik'i ( Hızlı Ayarlar - Rahatsız etmeyin ) kullanmanız gerekir . Yalnızca öncelik modu tüm bildirimleri göstermeye devam eder. Ancak, yalnızca öncelikli bildirimler uyarılır (ses, titreşim ve LED ışığı).
Fikir, Android Sistem uygulaması altında (varsayılan olarak, sistem uygulamaları listelenmiyor ) hariç tutulan portal bildirimi hariç, tüm bildirimleri öncelikli olarak ( Ayarlar - Ses ve bildirim - Uygulama bildirimleri - [uygulama adı] - Öncelikli olarak ele al) Taşma menüsünden Sistemi göster seçeneğini işaretlemeniz gerekir.Bu uygulamayı öncelikli olarak bırakın, ancak diğer sistem uygulamalarını da unutmayın).
Ancak, bu geçici çözümü kullanmadan önce dikkate almanız gereken bazı dezavantajlar vardır:
TL; DR
Esir portal (bu özel sorun) dışındaki tüm bildirimlerde hala titreşim almak istiyorsanız, yapamayacağınızdan korkuyorum .
Yorumda dbasch'ın belirttiği gibi , titreşim (aslında, bildirim uyarısının kendisi) Marshmallow'a eklendi.
Android, WiFi'nin zaten fark ettiğiniz gibi esir portalına giriş yapması gerektiğini tespit ettiğinde, bir bildirim oluşturur. İçindeki setProvNotificationVisibleIntent()
fonksiyon tarafından yapılır ConnectivityService
.
Ağ temel hazırlık bildirimlerini gösterin veya gizleyin.
Bildirimleri iki amaçla kullanırız: bir ağın oturum açmayı (
NotificationType.SIGN_IN
) gerektirdiğini bildirmek veya bir ağın İnternet erişimi (NotificationType.NO_INTERNET
) olmadığını bildirmek için . Kimlik başına en fazla bir bildirim gösteririz, bu nedenle belirli bir ağda en son istenen bildirim türünü görüntüleyebiliriz. Örneğin, bir sabit portal bağlandıktan birkaç saniye sonra yanıt vermezse, önce görüntüleyebilirizNO_INTERNET
, sonra da sabit portal denetimi tamamlandığında görüntülenirSIGN_IN
.
Android 6.0 Marshmallow'da kullanılan bildirim uyarısının ilgili kodu :
Notification notification = new Notification.Builder(mContext)
...
.setDefaults(Notification.DEFAULT_ALL)
...
Notification.DEFAULT_ALL
" Tüm varsayılan değerleri (varsa) kullanacağını" unutmayın; bu , sisteminizin bildirim ayarına (ses, titreşim ve LED ışığı) bağlı olduğu anlamına gelir.
İçinde bir oranla Android 5.x Lollipop , kod şudur:
Notification notification = new Notification();
...
Ne fazla ne az. İlgili kod bu. new Notification()
" varsayılan değerlere sahip bir Notification
nesne oluşturur ". Anlamda herhangi bir değişiklik yok gibi görünse de defaults
, bunun ayarlanmadığını / başlatılmadığını unutmayın Notification.DEFAULT_ALL
(değer: -1). Bunun yerine, başlatma olmadığından, varsayılan olarak 0 olur; bu uyarı değildir .
Marshmallow'da düzeltilmiş veya düzeltilmemiş Google tarafından gözden kaçan bir hata olsun, bilmiyorum. Ayrıca, Android Lollipop'ta uyarı olmamasının nedeni bu, ancak şimdi Android Marshmallow'da var.
Bu can sıkıcı titreşimden kurtulmak için bulduğum tek yol, 'mevcut wifi' bildirimini tamamen devre dışı bırakmaktır. Bunu yapmak için ayar-> wifi -> üç dikey noktaya dokunun -> 'gelişmiş ayarlar'a gidin ve genel olarak erişilebilir wifi ağları için bildirimleri devre dışı bırakın. Bir düzeltme bekliyorum, bence tek çözüm ve onları devre dışı bırakmak için çok da kötü bir kayıp değil, her zaman yeterince işe yaramaz olduğunu düşündüm.
Ayarlar> Uygulamalar> Google Bağlantı Hizmetleri> Bildirimler> Engelle bunları tamamen kapatır.
Bu bildirim Android Sistemi ( android
) tarafından başlatılır . Android Sistemini, herhangi bir durumda cihazı titreştirme iznini reddetmek için appops kullanabilirsiniz. PC'de adb kurulumunu yaptıysanız, şunları yapın :
adb shell appops set android VIBRATE deny
İnternet erişimi olmayan bir Wi-Fi ağına bağlanmayı deneyin. Bu bildirimi yine de alırsınız, ancak titreşim olmadan. Bu bildirimi de gizlemek istiyorsanız, burada veya bu web sitesinde yayınlanan geri kalan cevapları takip edebilirsiniz.
Değişiklikleri geri almak için şunları yapın:
adb shell appops set android VIBRATE allow
Arama için titreşim Dialer uygulaması tarafından başlatılır, SMS için varsayılan SMS uygulamanız olur, WhatsApp mesajları için aynı uygulamadır, bu yüzden etkilenmeyeceklerdir. Bu komutun farkında olmadığım beklenmedik sonuçları olabilir, bu yüzden yorumlarla onları bana bildirin.
Not: Bu çözüm resmi olmayan bir CM13 yapısında test edilmiştir.