17 votos

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

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 manteniendo la vibración para las llamadas, mensajes de texto, mensajes de WhatsApp, etc.?

4 votos

Estoy sufriendo con el mismo problema exacto. He buscado ampliamente y parece ser un nuevo problema con v6.0. Muy, muy molesto.

1 votos

Ninguna de las soluciones sugeridas a continuación funciona para mí. Utilizo el modo Prioridad para su uso previsto (por ejemplo, cuando estoy ocupado o durmiendo); no quiero tener mi teléfono en modo Prioridad todo el tiempo. Y ninguna de las otras soluciones parece funcionar realmente (y la respuesta de Andrew T parece indicar por qué). ¿Existe alguna solución para una ROM rooteada de stock? ¿Involucra un módulo de Xposed? ¿Se solucionará en versiones posteriores de Android?

6voto

Andrew T. Puntos 2107

Hay una solución alternativa que implica el modo Solo prioridad de No molestar.

Para ser simple, debes usar Solo prioridad (desde Ajustes rápidos - No molestar) ya que tiene configuración por aplicación para la alerta de notificaciones que puede sobrescribir la configuración predeterminada del sistema. El modo Solo prioridad seguirá mostrando todas las notificaciones. Sin embargo, solo se alertarán las notificaciones prioritarias (sonido, vibración y luz LED).

La idea es tratar todas las notificaciones como prioritarias (desde Ajustes - Sonido y notificación - Notificaciones de aplicaciones - [nombre de la aplicación] - Tratar como prioritario) excepto la notificación de portal cautivo, que está bajo la aplicación Sistema Android (por defecto, las aplicaciones del sistema no aparecen en la lista. Necesitas marcar Mostrar sistema en el menú desbordamiento. Deja esta aplicación como no prioritaria, pero no te olvides de hacerlo para el resto de las aplicaciones del sistema).

Sin embargo, hay algunas desventajas que podrías considerar antes de usar esta solución alternativa:

  1. Estás sacrificando el uso previsto del modo Solo prioridad, dejando solo el Total silencio como la única opción (sin embargo, si nunca planeas usar esta función, entonces tienes suerte ya que puedes aprovecharla).
  2. Si tienes muchas aplicaciones instaladas, es bastante tedioso configurar todas las aplicaciones para tratar sus notificaciones como prioritarias (quizás un script podría ayudar...). Además, cada vez que instales una nueva aplicación, no debes olvidar tratar su notificación como prioritaria (a menos que no te importe su alerta).
  3. No recibirás alertas para todas las notificaciones del Sistema Android (debes experimentar con esto, ya que no sé qué notificaciones considera el Sistema Android).

5voto

Andrew T. Puntos 2107

TL;DR

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

Como dbasch mencionó en el comentario, la vibración (en realidad, la notificación de alerta en sí) se agregó en Marshmallow.


Detalles Técnicos

Cuando Android detecta que el WiFi necesita iniciar sesión en un portal cautivo, como ya habrás notado, creará una notificación. Esto se hace con la función setProvNotificationVisibleIntent() en ConnectivityService.

Mostrar u ocultar notificaciones de aprovisionamiento de red.

Usamos 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 en particular podemos mostrar el tipo de notificación que se solicitó más recientemente. Por ejemplo, si un portal cautivo no responde después de unos segundos de conectarse, 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 utiliza en Android 6.0 Marshmallow:

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

Observa que Notification.DEFAULT_ALL "usará todos los valores predeterminados (cuando sea aplicable)", lo que significa que depende de la configuración de notificaciones de tu sistema (sonido, vibración y luz LED).

Comparado con el de Android 5.x Lollipop, el código es:

Notification notification = new Notification();
...

Nada más, nada menos. Ese es el código relevante. new Notification() "construirá un objeto Notification con valores predeterminados". Aunque parezca que no hay cambios en el significado, ten en cuenta que defaults no se establece/inicializa en Notification.DEFAULT_ALL (valor: -1). En su lugar, como no hay inicialización, se establecerá por defecto en 0, lo que significa sin alerta.

No sé si se trata de un error pasado por alto por Google que ha sido corregido en Marshmallow o no. También, esa es la razón por la que no hay alerta en Android Lollipop, pero ahora sí la hay en Android Marshmallow.

0 votos

"No puedes". Apuesto a que sí puedes con un módulo Xposed (o al menos alguna lectura preliminar me hace pensar esto), aunque uno podría tener que escribirlo uno mismo...

1voto

La única forma que encontré para deshacerme de esa molesta vibración es desactivar completamente la notificación de 'wifi disponible'. Para hacerlo ve a configuración -> wifi -> toca en los tres puntos verticales -> ve a 'configuración avanzada' y desactiva las notificaciones para las redes wifi públicas. Esperando una solución, creo que es la única solución y no es tan malo perderlas, siempre pensé que eran lo suficientemente inútiles.

3 votos

Gracias por tu respuesta. Sin embargo, esto no parece funcionar, ya que sigue mostrando una notificación y vibrando incluso después de desactivar la opción de 'Notificación de red'.

1 votos

Este fix no funciona en mi Nexus 5 tampoco.

0 votos

Había intentado esto en mi Moto X Pure y tampoco funciona allí.

1voto

stopsatgreen Puntos 111

Configuración > Aplicaciones > Servicios de Conexión de Google > Notificaciones > Bloqueo los apaga por completo.

0 votos

¡Gracias, (¡suponiendo que esto funcione)! Ahora solo necesito una manera de recordar que bloquee esto cuando lo reparen...

0 votos

Lamentablemente, esa suposición fue incorrecta... no funcionó en mi Moto X Pure

0voto

Firelord Puntos 161

Esa notificación es iniciada por el Sistema Android (android). Puedes usar appops para denegar al Sistema Android el permiso de vibrar el dispositivo en cualquier situación. Si tienes configurado adb en tu PC, haz lo siguiente:

adb shell appops set android VIBRATE deny

Intenta conectarte a una red Wi-Fi sin acceso a internet. Aún así recibirás esa notificación pero sin vibración. Si también deseas ocultar esa notificación, puedes seguir el resto de respuestas publicadas aquí o en este sitio web.

Para revertir los cambios, haz lo siguiente:

adb shell appops set android VIBRATE allow

La vibración para las llamadas es iniciada por la aplicación de Marcación, para los SMS sería tu 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 de las cuales no estoy al tanto, así que házmelo saber a través de comentarios.

Nota: esta solución ha sido probada en una compilación no oficial de CM13.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X