teléfono solo silenciar samsung quitar molestar modo luna icono desactivar cómo alarmas activa android

solo - Android cómo activar no molestar(dnd) mediante programación



no molestar se activa solo (3)

Encontré esta solución:

NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); mNotificationManager.setInterruptionFilter(NotificationManager.INTERRUPTION_FILTER_NONE);

Requiere:

<uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY" />

Que, por lo que puedo decir, no aparece un cuadro de diálogo de solicitud al hacer requestPermissions (). Debe otorgarse a través del menú de configuración Configuración -> Sonido y notificación -> No molestar el acceso.

Esto está en SDK 23 Marshmallow.

¿Cómo activo / desactivo ''no molestar'' (dnd) mediante programación en Android? Esperaba que esto me diera algo, pero no es así:

Settings.System.putInt(getContentResolver(), Settings.System.DO_NOT_DISTURB, 1);


Para aquellos que luchan con LG G4, hay una solución alternativa.

LG no configuró la opción de configuración para otorgar

permission.ACCESS_NOTIFICATION_POLICY

Por lo tanto, se bloquea cuando recibe

ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS

Sin embargo, LG configuró la opción de otorgar

permission.BIND_NOTIFICATION_LISTENER_SERVICE

Y una vez que se otorga este permiso, también lo es

permission.ACCESS_NOTIFICATION_POLICY

(al menos en LG G4). Esta opción se encuentra en Configuración-> General-> Seguridad-> Acceso a notificaciones. Para que el usuario pueda otorgar este permiso, su aplicación debe solicitarlo. Esto se hace declarando su servicio, suponiendo que tenga uno para su aplicación, como se indica a continuación en el manifiesto:

<service android:name="myService" android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE"> <intent-filter> <action android:name="android.service.notification.NotificationListenerService" /> </intent-filter> </service>


Solo estoy mejorando la respuesta de Jordan Parsons. Para establecer la prioridad, necesita un permiso que solo puede obtenerse pidiéndole al usuario que abra una Actividad. Se le solicitará una actividad que le pregunte si desea habilitar el permiso para No molestar en su aplicación.

Esta actividad se puede abrir de esta manera:

NotificationManager mNotificationManager = (NotificationManager) getActivity().getSystemService(Context.NOTIFICATION_SERVICE); // Check if the notification policy access has been granted for the app. if (!mNotificationManager.isNotificationPolicyAccessGranted()) { Intent intent = new Intent(android.provider.Settings.ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS); startActivity(intent); }

Después de otorgar este permiso, esta configuración se puede cambiar.