El permiso de manifiesto no funciona en Android 6

Ignora por completo:

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

Así que tengo la excepción:

Causado por: android.view.WindowManager $ BadTokenException: No se puede agregar la ventana android.view.ViewRootImpl$W@86fb55b – permiso denegado para este tipo de ventana

Ni siquiera aparece en la lista:

Introduzca aquí la descripción de la imagen

¿Cómo debo solucionarlo? Gracias.

EDITAR:

Se muestra en Configurar aplicaciones / Avanzado / Dibujar sobre otra aplicación. Así que lo enciende y ahora funciona bien, pero ¿por qué no hay ningún diálogo para preguntar acerca del permiso cuando ejecuto mi aplicación? Todas las perrmissions fue desactivado por deafult y tengo que ir a los ajustes y mannualy encenderlo?

Gracias a la entrada en el blog de CommonsWare , tengo algunas pistas.

Suponiendo que su código esté en Activity o Fragment , compruebe el permiso de superposición y haga una solicitud si es necesario:

 public static int OVERLAY_PERMISSION_REQ_CODE = 1234; public void someMethod() { if (!Settings.canDrawOverlays(this)) { Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + getPackageName())); startActivityForResult(intent, OVERLAY_PERMISSION_REQ_CODE); } } 

A continuación, vuelva a comprobar el permiso para UX mejor:

 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == OVERLAY_PERMISSION_REQ_CODE) { if (!Settings.canDrawOverlays(this)) { // SYSTEM_ALERT_WINDOW permission not granted... } } } 
  • Error en la versión 6.0 de Android 6.0: EACCES (Permiso denegado)
  • ¿Cómo cambiamos MTP más fácilmente en un dispositivo Debug-Enabled Android 6.0?
  • Cómo dar permiso de superposición de pantalla en mi actividad
  • DrawerLayout deja de funcionar correctamente después de la actualización a Android 6.0.1
  • Aplicación personalizada no creada en Android M (vista previa final)
  • Android M solicitud de permiso no actividad
  • Habilitar ubicaciones de Mock en Android Marshmallow
  • Modo Doze y espera de aplicación
  • Android 23 No genera el archivo de manifiesto para usos-elementos de permiso
  • Detectar la aplicación actual en Android Nougat 7. + versión
  • getAllNetworkInfo () está obsoleto en M, pero su sustitución tiene un comportamiento diferente
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.