Od czasu aktualizacji Androida 6.0 na Nexusie 5 za każdym razem, gdy otrzymuję powiadomienie „Zaloguj się do sieci Wi-Fi”, telefon wibruje. Masz pomysł, gdzie mogę to wyłączyć, utrzymując wibrację dla połączeń, SMS-ów, wiadomości WhatsApp itp.?
17
Odpowiedzi:
Istnieje obejście obejmujące tryb Tylko nie przeszkadzać .
Krótko mówiąc, musisz użyć tylko priorytetu (z Szybkich ustawień - Nie przeszkadzaj ), ponieważ ma ustawienie dla aplikacji dla powiadomienia, które może zastąpić domyślne ustawienie systemu. W trybie tylko priorytetowym nadal będą wyświetlane wszystkie powiadomienia. Powiadomione zostaną jednak tylko powiadomienia priorytetowe (dźwięk, wibracje i światło LED).
Chodzi o to, aby traktować wszystkie powiadomienia jako priorytetowe (od Ustawienia - Dźwięk i powiadomienia - Powiadomienia aplikacji - [nazwa aplikacji] - Traktuj jako priorytetowe), z wyjątkiem powiadomień z portalu dostępowego, które znajdują się w aplikacji Android System (domyślnie aplikacje systemowe nie są wymienione Musisz zaznaczyć Pokaż system z menu przepełnienia. Pozostaw tę aplikację jako niepriorytetową, ale nie zapomnij o pozostałych aplikacjach systemowych).
Istnieją jednak pewne wady, które należy rozważyć przed użyciem tego obejścia:
źródło
TL; DR
Jeśli nadal chcesz wibrować we wszystkich powiadomieniach oprócz portalu dostępowego (ten konkretny problem) , obawiam się, że nie możesz .
To tak, jak dbasch wspomniany w komentarzu , że wibracje (właściwie powiadomienie alarmowe) sam ) została dodana w Marshmallow.
Szczegóły techniczne
Gdy Android wykryje, że WiFi musi się zalogować do niewoli portalu, jak już zauważyłeś, utworzy powiadomienie. Odbywa się to przez
setProvNotificationVisibleIntent()
funkcję wConnectivityService
.Odpowiedni kod do powiadomienia, który jest używany w systemie Android 6.0 Marshmallow :
Pamiętaj, że
Notification.DEFAULT_ALL
„ użyje wszystkich wartości domyślnych (w stosownych przypadkach) ”, co oznacza, że zależy to od ustawień powiadomień w systemie (dźwięk, wibracje i światło LED).W porównaniu do tego w Androidzie 5.x Lollipop , kod jest następujący:
Nie więcej nie mniej. To jest odpowiedni kod.
new Notification()
„ zbudujeNotification
obiekt z wartościami domyślnymi ”. Chociaż wydaje się, że nie ma zmiany znaczenia, należy pamiętać, żedefaults
nie jest on ustawiony / zainicjowany naNotification.DEFAULT_ALL
(wartość: -1). Zamiast tego, ponieważ nie ma inicjalizacji, zostanie domyślnie ustawiona na 0, co nie jest alarmem .Czy to błąd przeoczony przez Google, który został naprawiony w Marshmallow, czy nie, nie wiem. Ponadto jest to powód, dla którego nie ma alertu w Android Lollipop, ale teraz jest w Android Marshmallow.
źródło
Jedynym sposobem, aby pozbyć się tej irytującej wibracji, jest całkowite wyłączenie powiadomienia „dostępne Wi-Fi”. Aby to zrobić, przejdź do ustawienia-> Wi-Fi -> dotknij trzech pionowych kropek -> przejdź do „ustawień zaawansowanych” i wyłącz powiadomienia dla publicznie dostępnych sieci Wi-Fi. Czekając na poprawkę, myślę, że jest to jedyne rozwiązanie, a nie tak duża strata, aby je wyłączyć, zawsze uważałem je za bezużyteczne.
źródło
Ustawienia> Aplikacje> Usługi łączności Google> Powiadomienia> Blokuj je całkowicie.
źródło
To powiadomienie jest inicjowane przez system Android (
android
). Możesz użyć aplikacji, aby odmówić systemowi Android pozwolenia na wibrowanie urządzenia w dowolnej sytuacji. Pod warunkiem, że masz konfigurację adb na PC, wykonaj następujące czynności:Spróbuj połączyć się z Wi-Fi bez dostępu do Internetu. Nadal otrzymasz to powiadomienie, ale bez wibracji. Jeśli zamierzasz również ukryć to powiadomienie, możesz postępować zgodnie z resztą odpowiedzi opublikowanych tutaj lub na tej stronie.
Aby cofnąć zmiany, wykonaj:
Wibracje dla połączeń są inicjowane przez aplikację Dialer, w przypadku SMS-a byłaby to domyślna aplikacja do SMS-ów, w przypadku wiadomości WhatsApp jest to ta sama aplikacja, więc nie będzie to miało wpływu. Mogą wystąpić nieprzewidziane konsekwencje tego polecenia, których nie jestem świadomy, więc daj mi znać o nich w komentarzach.
Uwaga: to rozwiązanie jest testowane na nieoficjalnej wersji CM13.
źródło