'Kablosuz ağda oturum aç' bildirimi için titreşimi kapatma


17

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?


4
Ben de aynı sorunla karşı karşıyayım. Kapsamlı bir şekilde aradım ve v6.0 ile yeni bir sorun gibi görünüyor. Çok, çok can sıkıcı.
dbasch

1
Aşağıdaki önerilen düzeltmelerin hiçbiri benim için çalışmıyor. Öncelik modunu kullanım amacı için kullanıyorum (örneğin meşgul veya uyurken); Telefonumu her zaman öncelikli modda istemiyorum. Ve diğer düzeltmelerin hiçbiri gerçekten işe yaramıyor (ve Andrew T'nin cevabı nedenini gösteriyor gibi görünüyor). Stok köklü bir rom için bir düzeltme var mı? Xposed modülünü içeriyor musunuz? Android'in sonraki sürümlerinde düzeltilecek mi?
znt

Yanıtlar:


6

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:

  1. Yalnızca Öncelik modunun amaçlanan kullanımını feda edersiniz, Toplam sessizliği yalnızca tek seçenek olarak bırakırsınız (ancak, bu özelliği asla kullanmayı düşünmüyorsanız, kullanabileceğiniz için şanslısınız).
  2. Yüklü çok sayıda uygulamanız varsa, tüm uygulamaları bildirimlerini öncelikli olarak ele alacak şekilde ayarlamak oldukça sıkıcıdır (belki de bir komut dosyası yardımcı olabilir ...). Ayrıca, her yeni uygulama yüklediğinizde, bildirimini öncelikli olarak ele almayı unutmamalısınız (uyarısını önemsemiyorsanız).
  3. Android Sisteminden gelen tüm bildirimler için herhangi bir uyarı almazsınız (Android Sistem tarafından hangi bildirimlerin kabul edildiğini bilmediğim için bunu denemeniz gerekir).

5

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.


Teknik detaylar

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üleyebiliriz NO_INTERNET, sonra da sabit portal denetimi tamamlandığında görüntülenir SIGN_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 Notificationnesne 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.


"Yapamazsın". Eminim bir Xposed modülü ile yapabilirsiniz (ya da en azından bazı ön okuma bana bunu düşündürüyor), ancak biri kendini yazmak zorunda
kalabilir

1

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.


3
Cevabınız için teşekkürler. Ancak bu işe yaramaz gibi görünüyor, yine de bir bildirim görüntüler ve 'Ağ bildirimi' seçeneğini kapattıktan sonra bile titrer.
Ritz

1
Bu düzeltme de Nexus 5 cihazımda çalışmıyor.
dbasch

Bunu Moto X Pure'umda denedim ve orada da çalışmıyor.
Nat Kuhn

Ne de Moto E ikinci
Andy Clark

1

Ayarlar> Uygulamalar> Google Bağlantı Hizmetleri> Bildirimler> Engelle bunları tamamen kapatır.


Teşekkürler, (bunun işe yaradığını varsayarak)! Şimdi bunu düzelttiklerinde bunu engellediğimi hatırlamanın bir yoluna ihtiyacım var ...
Nat Kuhn

Ne yazık ki, bu varsayım yanlıştı ... Moto X Pure'imde işe yaramadı
Nat Kuhn

0

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 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.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.