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:
- Prueba de espera y modo de espera
- Ampliación de Byte a Int (bicho Marshmallow)
- Android M: VoIP, JAINSIP, SipStack; Inconsistent SipProvider Excepción al crear un punto de escucha con tls habilitado
- Acceso a la red en modo doze
- OnRequestPermissionsResult no se llama en fragmento si se define tanto en el fragmento y la actividad
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:
¿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?
- Android: utiliza la API de huellas dactilares en la API de Android 17
- Abrir archivo pdf Error: No se pudo acceder a este archivo Compruebe la ubicación o la red e inténtelo de nuevo. Melcocha de Android 6
- ¿Cuánto tiempo tarda para que android pase al modo doze?
- Cómo leer la aplicación de ubicación simulada en Android M-API 23
- Android 6.0 RuntimeException: No se puede conectar al servicio de cámara
- Sustitución de la aplicación de llamada
- Androide: la cámara no se abre en el malvavisco
- Android M escribe en la tarjeta SD - Permiso denegado
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... } } }
- ¿Dónde está el relleno, al configurar el fondo ¿Dibujable?
- Código de la versión de incremento automático en la aplicación para Android