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 Notification
objeto con valores predeterminados ". Si bien parece que no hay cambio en el significado, tenga en cuenta que defaults
no 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.