permission - permisos internet android manifest
El permiso del manifiesto no funciona en Android 6 (1)
Ignora por completo:
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
Entonces obtuve una 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 está en la lista:
¿Cómo debo arreglarlo? Gracias.
EDITAR:
Aparece en Configurar aplicaciones / Avanzado / Dibujar sobre otra aplicación. Así que lo enciendo y ahora funciona bien, pero ¿por qué no hay ningún diálogo para pedir permiso cuando ejecuto mi aplicación? Todos los permisos se desactivaron por defecto y necesito ir a la configuración y activarlo manualmente.
Gracias a la publicación del blog de CommonsWare , obtuve alguna pista.
Suponiendo que su código está en
Activity
o
Fragment
, verifique el permiso de superposición y solicítelo 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);
}
}
Luego, vuelva a verificar el permiso para una mejor experiencia de usuario:
@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...
}
}
}