Disattiva la vibrazione per la notifica "Accedi alla rete WiFi"


17

Dall'aggiornamento di Android 6.0 su Nexus 5, ogni volta che ricevo la notifica "Accedi alla rete WiFi" il telefono vibra. Qualche idea su dove posso disattivarlo mantenendo la vibrazione per chiamate, SMS, messaggi WhatsApp, ecc.?


4
Sto soffrendo con lo stesso identico problema. Ho cercato ampiamente e sembra essere un nuovo problema con la v6.0. Molto, molto fastidioso.
dbasch,

1
Nessuna delle correzioni suggerite qui sotto funziona per me. Uso la modalità Priorità per l'uso previsto (ad es. Quando sono occupato o dormo); Non voglio che il mio telefono sia sempre in modalità priorità. E nessuna delle altre correzioni sembra funzionare davvero (e la risposta di Andrew T sembra indicare il perché). Esiste una correzione per una rom con root stock? Coinvolgere un modulo Xposed? Sarà risolto nelle versioni successive di Android?
znt

Risposte:


6

Esiste una soluzione alternativa che coinvolge la modalità Solo priorità di Non disturbare .

Per dirla semplicemente, è necessario utilizzare solo Priorità (da Impostazioni rapide - Non disturbare ) poiché ha un'impostazione per-app per l'avviso di notifica che può sovrascrivere l'impostazione predefinita del sistema. La modalità Solo priorità mostrerà comunque tutte le notifiche. Tuttavia, verranno avvisate solo le notifiche prioritarie (suono, vibrazione e luce LED).

L'idea è di considerare tutte le notifiche come prioritarie (da Impostazioni - Suono e notifica - Notifiche app - [nome app] - Tratta come prioritaria) tranne per la notifica del portale captive, che si trova nell'app di sistema Android (per impostazione predefinita, le app di sistema non sono elencate È necessario selezionare Mostra sistema dal menu di overflow. Lasciare questa app come non prioritaria, ma non dimenticare le altre app di sistema).

Tuttavia, ci sono alcuni svantaggi che potresti considerare prima di utilizzare questa soluzione alternativa:

  1. Sacrifichi l'uso previsto della modalità Solo priorità, lasci solo il silenzio totale come unica opzione (tuttavia, se non intendi mai utilizzare questa funzione, sei fortunato dal momento che puoi utilizzarla).
  2. Se hai installato molte app, è abbastanza noioso impostare tutte le app in modo che le loro notifiche vengano considerate prioritarie (forse uno script potrebbe aiutare ...). Inoltre, ogni volta che installi una nuova app, non dimenticare di considerare prioritaria la sua notifica (a meno che non ti interessi del suo avviso).
  3. Non riceverai alcun avviso per tutte le notifiche dal sistema Android (devi sperimentare questo, poiché non so quali notifiche sono considerate dal sistema Android).

5

TL; DR

Se desideri comunque avere delle vibrazioni su tutte le notifiche ad eccezione del captive portal (questo particolare problema) , temo di non poterlo fare .

È come dbasch menzionato nel commento , che la vibrazione (in realtà, l' avviso di notifica stesso) è stata aggiunta in Marshmallow.


Dettagli tecnici

Quando Android rileva che il WiFi deve accedere al portale captive, come hai già notato, creerà una notifica. È fatto dalla setProvNotificationVisibleIntent()funzione in ConnectivityService.

Mostra o nascondi le notifiche di provisioning di rete.

Utilizziamo le notifiche per due scopi: notificare che una rete richiede l'accesso ( NotificationType.SIGN_IN) o notificare che una rete non ha accesso a Internet ( NotificationType.NO_INTERNET). Visualizziamo al massimo una notifica per ID, quindi su una particolare rete possiamo visualizzare il tipo di notifica che è stato richiesto più di recente. Quindi, ad esempio, se un portale captive non risponde entro pochi secondi dalla connessione, potremmo prima visualizzare NO_INTERNET, quindi quando il controllo del portale captive è completo, visualizzare SIGN_IN.

Il codice rilevante per l'avviso di notifica utilizzato in Android 6.0 Marshmallow :

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

Si noti che Notification.DEFAULT_ALL" utilizzerà tutti i valori predefiniti (ove applicabile) ", il che significa che dipende dalle impostazioni di notifica del sistema (suono, vibrazione e luce LED).

Rispetto a quello di Android 5.x Lollipop , il codice è:

Notification notification = new Notification();
...

Ne più ne meno. Questo è il codice rilevante. new Notification()" costruirà un Notificationoggetto con valori predefiniti ". Anche se sembra che non ci siano cambiamenti nel significato, nota che defaultsnon è impostato / inizializzato su Notification.DEFAULT_ALL(valore: -1). Invece, poiché non è presente l'inizializzazione, verrà impostato automaticamente su 0, che non è un avviso .

Che si tratti di un bug trascurato da Google che è stato corretto in Marshmallow o no, non lo so. Inoltre, questo è il motivo per cui non c'è alcun avviso in Android Lollipop, ma ora c'è in Android Marshmallow.


"Non puoi". Scommetto che puoi farlo con un modulo Xposed (o almeno qualche lettura preliminare mi fa pensare a questo), anche se uno potrebbe
doverlo

1

L'unico modo in cui ho scoperto di liberarmi di quella fastidiosa vibrazione è disabilitare completamente la notifica "wifi disponibile". Per farlo vai su impostazione-> wifi -> tocca i tre punti verticali -> vai su 'impostazioni avanzate' e disabilita le notifiche per le reti wifi accessibili al pubblico. In attesa di una correzione, penso che sia l'unica soluzione e una perdita non così grave per disabilitarle, le ho sempre ritenute abbastanza inutili.


3
Grazie per la tua risposta. Tuttavia, ciò non sembra funzionare, visualizza comunque una notifica e vibra anche dopo aver disattivato l'opzione "Notifica di rete".
Ritz,

1
Questa correzione non funziona neanche sul mio Nexus 5.
dbasch,

L'avevo provato sul mio Moto X Pure e non funziona neanche lì.
Nat Kuhn,

Né sulla mia Moto E di seconda generazione
Andy Clark,

1

Impostazioni> App> Servizi di connettività di Google> Notifiche> Blocco le disattiva completamente.


Grazie (supponendo che funzioni)! Ora ho solo bisogno di un modo per ricordare che l'ho bloccato quando lo hanno risolto ...
Nat Kuhn,

Purtroppo, quell'ipotesi non era corretta ... non ha funzionato sulla mia Moto X Pure
Nat Kuhn

0

Tale notifica viene avviata dal sistema Android ( android). Puoi utilizzare le appops per negare al Sistema Android l'autorizzazione a vibrare il dispositivo in qualsiasi situazione. A condizione che tu abbia configurato nel PC, esegui:

adb shell appops set android VIBRATE deny

Prova a connetterti a una rete Wi-Fi senza accesso a Internet. Riceveresti comunque quella notifica ma senza vibrazioni. Se si intende anche nascondere tale notifica, è possibile seguire il resto delle risposte pubblicate qui o su questo sito Web.

Per ripristinare le modifiche, eseguire:

adb shell appops set android VIBRATE allow

La vibrazione per le chiamate viene avviata dall'app Dialer, per SMS sarebbe l'app SMS predefinita, per i messaggi WhatsApp, è la stessa app, quindi non saranno interessati. Potrebbero esserci conseguenze impreviste di quel comando di cui non sono a conoscenza, quindi fatemi sapere su di loro attraverso i commenti.

Nota: questa soluzione è stata testata su una build non ufficiale di CM13.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.