Settings.canDrawOverlays (contexto) devuelve falso en Android Oreo

Manifiesto:

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

Código activity.onCreate ():

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && BuildConfig.DEBUG) {
        if (!Settings.canDrawOverlays(this)) {
            Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
                    Uri.parse("package:" + getPackageName()));
            startActivityForResult(intent, OVERLAY_PERMISSION_REQ_CODE);
        }
    }

Problema: Settings.canDrawOverlays (this) devuelve falso incluso si el permiso ya se ha otorgado. No ha sucedido antes de actualizar Pixel a Oreo.

Versión de Android: 8.0.0

Intenté actualizar las herramientas de compilación: a 26.0.1 y target y compileSdk a 26. Me ayudó en el primer lanzamiento: después de activarlo, devuelve verdadero, pero la próxima vez que inicie la aplicación, devuelve falso nuevamente.

Respuestas a la pregunta(2)

Su respuesta a la pregunta