Deaktivieren Sie die Vibration für die Benachrichtigung "Beim WiFi-Netzwerk anmelden"


17

Seit dem Android 6.0-Update auf Nexus 5 vibriert das Telefon jedes Mal, wenn ich die Benachrichtigung "Beim WiFi-Netzwerk anmelden" erhalte. Irgendeine Idee, wo ich diese Option deaktivieren kann, während die Vibration für Anrufe, SMS, WhatsApp-Nachrichten usw. beibehalten wird?


4
Ich leide mit genau dem gleichen Problem. Ich habe intensiv gesucht und es scheint ein neues Problem mit v6.0 zu sein. Sehr, sehr nervig.
Dbasch

1
Keine der unten vorgeschlagenen Korrekturen funktioniert für mich. Ich verwende den Prioritätsmodus für die beabsichtigte Verwendung (z. B. wenn ich beschäftigt bin oder schlafe). Ich möchte nicht, dass sich mein Telefon ständig im Prioritätsmodus befindet. Und keine der anderen Korrekturen scheint tatsächlich zu funktionieren (und die Antwort von Andrew T scheint den Grund dafür anzugeben). Gibt es einen Fix für ein aktienverwurzeltes Rom? Ein Xposed-Modul einbinden? Wird es in späteren Versionen von Android behoben?
Znt

Antworten:


6

Es gibt eine Problemumgehung, die den Nur-Priorität- Modus von "Nicht stören" umfasst .

Vereinfacht gesagt, müssen Sie nur die Priorität verwenden (aus den Schnelleinstellungen - Nicht stören ), da für die Benachrichtigung eine app-bezogene Einstellung festgelegt ist, die die Standardeinstellung des Systems überschreiben kann. Im Nur-Priorität-Modus werden weiterhin alle Benachrichtigungen angezeigt. Es werden jedoch nur Prioritätsbenachrichtigungen ausgegeben (Ton, Vibration und LED-Licht).

Die Idee ist, alle Benachrichtigungen als Priorität zu behandeln (von Einstellungen - Ton & Benachrichtigung - App-Benachrichtigungen - [App-Name] - Als Priorität behandeln), mit Ausnahme der Portal-Benachrichtigung in der Android-System- App (standardmäßig werden System-Apps nicht aufgelistet) Sie müssen das Kontrollkästchen Show system from overflow menu ( System aus Überlaufmenü anzeigen aktivieren. Diese App hat keine Priorität, den Rest der System-Apps jedoch nicht vergessen).

Es gibt jedoch einige Nachteile, die Sie berücksichtigen sollten, bevor Sie diese Problemumgehung verwenden:

  1. Sie opfern die beabsichtigte Verwendung des Nur-Priorität-Modus und lassen die Option "Vollständige Stille" als einzige Option (wenn Sie diese Funktion jedoch nie verwenden möchten, haben Sie das Glück, dass Sie sie verwenden können).
  2. Wenn Sie viele Apps installiert haben, ist es ziemlich mühsam, alle Apps so einzustellen, dass ihre Benachrichtigungen als Priorität behandelt werden (möglicherweise hilft ein Skript ...). Außerdem dürfen Sie bei jeder Installation einer neuen App nicht vergessen, die Benachrichtigung als Priorität zu behandeln (es sei denn, Sie kümmern sich nicht um die Benachrichtigung).
  3. Sie erhalten keine Benachrichtigungen für alle Benachrichtigungen von Android System (Sie müssen damit experimentieren, da ich nicht weiß, welche Benachrichtigungen von Android System berücksichtigt werden).

5

TL; DR

Wenn Sie noch Vibration auf alle Meldungen haben wollen , außer für Captive Portal (diese besondere Ausgabe) , ich fürchte , Sie können nicht .

Es ist , als dbasch im Kommentar erwähnt , dass die Schwingung (eigentlich die Meldung Alarm selbst) wurde in Eibisch hinzugefügt.


Technische Details

Wenn Android feststellt, dass sich das WLAN beim Captive-Portal anmelden muss, wird, wie Sie bereits bemerkt haben, eine Benachrichtigung erstellt. Es wird von setProvNotificationVisibleIntent()Funktion in getan ConnectivityService.

Anzeigen oder Ausblenden von Benachrichtigungen zur Netzwerkbereitstellung.

Wir verwenden Benachrichtigungen für zwei Zwecke: um zu benachrichtigen, dass für ein Netzwerk eine Anmeldung erforderlich ist ( NotificationType.SIGN_IN), oder um zu benachrichtigen, dass ein Netzwerk keinen Internetzugang hat ( NotificationType.NO_INTERNET). Wir zeigen höchstens eine Benachrichtigung pro ID an, sodass wir in einem bestimmten Netzwerk den Benachrichtigungstyp anzeigen können, der zuletzt angefordert wurde. Wenn beispielsweise ein Captive-Portal nicht innerhalb weniger Sekunden nach dem Herstellen der Verbindung antwortet, wird möglicherweise zuerst eine Meldung angezeigt NO_INTERNETund nach Abschluss der Überprüfung des Captive-Portals eine Meldung angezeigt SIGN_IN.

Der relevante Code für die Benachrichtigung, die in Android 6.0 Marshmallow verwendet wird :

Notification notification = new Notification.Builder(mContext)
    ...
    .setDefaults(Notification.DEFAULT_ALL)
    ...

Beachten Sie, dass Notification.DEFAULT_ALL" alle Standardwerte verwendet werden (sofern zutreffend) ", was bedeutet, dass dies von der Benachrichtigungseinstellung Ihres Systems abhängt (Ton, Vibration und LED-Licht).

Im Vergleich zu Android 5.x Lollipop lautet der Code:

Notification notification = new Notification();
...

Nicht mehr und nicht weniger. Das ist der relevante Code. new Notification()wird " ein NotificationObjekt mit Standardwerten erstellen ". Die Bedeutung scheint sich nicht zu ändern. Beachten Sie jedoch, dass sie defaultsnicht auf Notification.DEFAULT_ALL(Wert: -1) gesetzt / initialisiert ist . Da es keine Initialisierung gibt, wird stattdessen standardmäßig 0 verwendet, was keine Warnung ist .

Ob es sich um einen von Google übersehenen Fehler handelt, der in Marshmallow behoben wurde, weiß ich nicht. Das ist auch der Grund, warum es in Android Lollipop keine Warnung gibt, aber jetzt gibt es in Android Marshmallow.


"Das kannst du nicht". Ich wette, Sie können mit einem Xposed-Modul (oder zumindest einer vorläufigen Lektüre, die mich dies denken lässt), obwohl man es vielleicht selbst schreiben muss ...
znt 31.10.16

1

Die einzige Möglichkeit, diese störende Vibration loszuwerden, besteht darin, die Benachrichtigung über das verfügbare WLAN vollständig zu deaktivieren. Gehen Sie dazu zu Einstellung -> WLAN -> tippen Sie auf die drei vertikalen Punkte -> gehen Sie zu "Erweiterte Einstellungen" und deaktivieren Sie die Benachrichtigungen für öffentlich zugängliche WLAN-Netzwerke. Ich denke, es ist die einzige Lösung und nicht so schlimm, sie zu deaktivieren. Ich fand sie immer nutzlos genug.


3
Danke für deine Antwort. Dies scheint jedoch nicht zu funktionieren, es wird immer noch eine Benachrichtigung angezeigt und es vibriert auch nach dem Deaktivieren der Option "Netzwerkbenachrichtigung".
Ritz

1
Dieser Fix funktioniert auch auf meinem Nexus 5 nicht.
Dbasch

Ich hatte das auf meinem Moto X Pure ausprobiert und es funktioniert dort auch nicht.
Nat Kuhn

Noch auf meinem Moto E der zweiten Generation
Andy Clark

1

Einstellungen> Apps> Google Connectivity Services> Benachrichtigungen> Blockieren deaktiviert sie vollständig.


Vielen Dank (vorausgesetzt, dies funktioniert)! Jetzt muss ich mich nur noch daran erinnern, dass ich dies blockiert habe, als sie es reparierten ...
Nat Kuhn

Leider war diese Annahme falsch ... hat bei meinem Moto X Pure
Nat Kuhn am

0

Diese Benachrichtigung wird von Android System ( android) initiiert . Mithilfe von Apps können Sie Android System die Erlaubnis verweigern, das Gerät in jeder Situation zu vibrieren. Vorausgesetzt, Sie haben auf dem PC eingerichtet, gehen Sie wie :

adb shell appops set android VIBRATE deny

Versuchen Sie, eine Verbindung zu einem WLAN ohne Internetzugang herzustellen. Sie würden diese Benachrichtigung immer noch erhalten, aber ohne Vibration. Wenn Sie diese Benachrichtigung auch verbergen möchten, können Sie den übrigen hier oder auf dieser Website veröffentlichten Antworten folgen.

Gehen Sie wie folgt vor, um die Änderungen rückgängig zu machen:

adb shell appops set android VIBRATE allow

Die Vibration für Anrufe wird von der Dialer-App ausgelöst. Bei SMS handelt es sich um Ihre Standard-SMS-App. Bei WhatsApp-Nachrichten handelt es sich um dieselbe App, sodass sie nicht betroffen sind. Es kann unvorhergesehene Konsequenzen dieses Befehls geben, die mir nicht bekannt sind. Lassen Sie mich dies durch Kommentare wissen.

Hinweis: Diese Lösung wurde mit einem inoffiziellen CM13-Build getestet.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.