Apague la vibración para la notificación 'Iniciar sesión en la red WiFi'

17

Desde la actualización de Android 6.0 en Nexus 5, cada vez que recibo la notificación 'Iniciar sesión en la red WiFi' el teléfono vibra. ¿Alguna idea de dónde puedo desactivar esto mientras mantengo la vibración para llamadas, SMS, mensajes de WhatsApp, etc.?

Ritz
fuente
44
Estoy sufriendo exactamente con el mismo problema. Busqué mucho y parece ser un nuevo problema con v6.0. Muy, muy molesto.
dbasch
1
Ninguna de las soluciones sugeridas a continuación me funciona. Uso el modo Prioridad para su uso previsto (por ejemplo, cuando estoy ocupado o durmiendo); No quiero mi teléfono en modo de prioridad todo el tiempo. Y ninguna de las otras soluciones parece funcionar realmente (y la respuesta de Andrew T parece indicar por qué). ¿Hay alguna solución para una rom enraizada en stock? ¿Involucrando un módulo Xposed? ¿Se solucionará en versiones posteriores de Android?
znt

Respuestas:

6

Hay una solución alternativa que involucra el modo No priorizar solo de molestar .

En pocas palabras, debe usar solo Prioridad (desde Configuración rápida - No molestar ) ya que tiene una configuración por aplicación para la alerta de notificación que puede sobrescribir la configuración predeterminada del sistema. El modo de solo prioridad seguirá mostrando todas las notificaciones. Sin embargo, solo se alertarán las notificaciones de prioridad (sonido, vibración y luz LED).

La idea es tratar todas las notificaciones como prioridad (desde Configuración - Sonido y notificación - Notificaciones de la aplicación - [nombre de la aplicación] - Tratar como prioridad), excepto la notificación del portal cautivo, que se encuentra en la aplicación del sistema Android (de forma predeterminada, las aplicaciones del sistema no están en la lista Debe marcar Mostrar sistema en el menú de desbordamiento. Deje esta aplicación como no prioritaria, pero no se olvide del resto de las aplicaciones del sistema).

Sin embargo, hay algunas desventajas que puede considerar primero antes de usar esta solución alternativa:

  1. Sacrifica el uso previsto del modo de prioridad solamente, solo deja el silencio total como la única opción (sin embargo, si nunca tiene la intención de usar esta función, entonces tiene suerte ya que puede utilizarla).
  2. Si tiene muchas aplicaciones instaladas, es bastante tedioso configurar todas las aplicaciones para tratar sus notificaciones como prioritarias (quizás un script pueda ayudar ...). Además, cada vez que instale una nueva aplicación, no debe olvidar tratar su notificación como prioridad (a menos que no le importe su alerta).
  3. No recibirá ninguna alerta para todas las notificaciones del sistema Android (debe experimentar con esto, ya que no sé qué notificaciones considera el sistema Android).
Andrew T.
fuente
5

TL; DR

Si todavía desea tener vibración en todas las notificaciones, excepto en el portal cautivo (este problema en particular) , me temo que no puede .

Es como dbasch mencionado en el comentario , que la vibración (en realidad, la alerta de notificación en sí) se agregó en Marshmallow.


Detalles técnicos

Cuando Android detecta que el WiFi necesita iniciar sesión en el portal cautivo, como ya lo notó, creará una notificación. Se hace por setProvNotificationVisibleIntent()función en ConnectivityService.

Mostrar u ocultar notificaciones de aprovisionamiento de red.

Utilizamos notificaciones para dos propósitos: notificar que una red requiere iniciar sesión ( NotificationType.SIGN_IN) o notificar que una red no tiene acceso a Internet ( NotificationType.NO_INTERNET). Mostramos como máximo una notificación por ID, por lo que en una red particular podemos mostrar el tipo de notificación que se solicitó más recientemente. Entonces, por ejemplo, si un portal cautivo no responde dentro de unos segundos de la conexión, podríamos mostrar primero NO_INTERNET, y luego, cuando se complete la verificación del portal cautivo, mostrar SIGN_IN.

El código relevante para la alerta de notificación que se usa en Android 6.0 Marshmallow :

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

Tenga en cuenta que Notification.DEFAULT_ALL" utilizará todos los valores predeterminados (cuando corresponda) ", lo que significa que depende de la configuración de notificación de su sistema (sonido, vibración y luz LED).

En comparación con el de Android 5.x Lollipop , el código es:

Notification notification = new Notification();
...

Ni mas ni menos. Ese es el código relevante. new Notification()" construirá un Notificationobjeto con valores predeterminados ". Si bien parece que no hay cambio en el significado, tenga en cuenta que defaultsno se establece / inicializa en Notification.DEFAULT_ALL(valor: -1). En cambio, dado que no hay inicialización, su valor predeterminado será 0, que no es alerta .

Si se trata de un error pasado por alto por Google que se ha solucionado en Marshmallow o no, no lo sé. Además, esa es la razón por la cual no hay alerta en Android Lollipop, pero ahora sí en Android Marshmallow.

Andrew T.
fuente
"No puedes". Apuesto a que puede con un módulo Xposed (o al menos algunos lectura preliminar me hace pensar esto), aunque uno podría tener que escribirlo uno mismo ...
ZnT
1

La única forma en que encontré deshacerme de esa molesta vibración es deshabilitar completamente la notificación de 'wifi disponible'. Para hacerlo, vaya a configuración-> wifi -> toque los tres puntos verticales -> vaya a 'configuración avanzada' y desactive las notificaciones para redes wifi de acceso público. Esperando una solución, creo que es la única solución y una pérdida no tan mala para deshabilitarlos, siempre pensé que eran lo suficientemente inútiles.


fuente
3
Gracias por tu respuesta. Sin embargo, esto no parece funcionar, todavía muestra una notificación y vibra incluso después de desactivar la opción 'Notificación de red'.
Ritz
1
Esta solución tampoco funciona en mi Nexus 5.
dbasch
Había intentado esto en mi Moto X Pure y tampoco funciona allí.
Nat Kuhn
Ni en mi Moto E de segunda generación
Andy Clark
1

Configuración> Aplicaciones> Servicios de conectividad de Google> Notificaciones> Bloquear los desactiva por completo.

stopatgreen
fuente
¡Gracias (suponiendo que esto funcione)! Ahora solo necesito una forma de recordar que bloqueé esto cuando lo arreglaron ...
Nat Kuhn
Lamentablemente, esa suposición era incorrecta ... no funcionó en mi Moto X Pure
Nat Kuhn
0

Esa notificación es iniciada por el sistema Android ( android). Puede usar appops para negarle al sistema Android el permiso de hacer vibrar el dispositivo en cualquier situación. Siempre que haya configurado en la PC, haga lo siguiente:

adb shell appops set android VIBRATE deny

Intenta conectarte a un wifi sin acceso a internet. Todavía recibirías esa notificación pero sin vibración. Si también tiene la intención de ocultar esa notificación, puede seguir el resto de las respuestas publicadas aquí o en este sitio web.

Para revertir los cambios, haga:

adb shell appops set android VIBRATE allow

La aplicación Dialer inicia la vibración para las llamadas, para SMS sería su aplicación de SMS predeterminada, para los mensajes de WhatsApp, es la misma aplicación, por lo que no se verán afectados. Puede haber consecuencias imprevistas de ese comando que desconozco, así que hágamelo saber a través de comentarios.

Nota: esta solución se prueba en una compilación CM13 no oficial.

Señor del fuego
fuente