Permission denied for window type 2010 in Marshmallow device

When we want to display an overlay window on the Phone screen in Android version 6 and above this exception will come.

To fix this issue follwo below steps

 

Check Manifest file with below permission

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

 

Check Permission Granted for Android 6(Marshmallow and above devices) and above with below code

public booleancheckOverLayPermission() {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        if (!Settings.canDrawOverlays(this)) {
           
            Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + getPackageName()));
            startActivityForResult(intent, OVERLAY_PERMISSION_CODE);
 return false;
        }else
         {
            return true;
         }
    }else
{
   return true;
}
}

 

Check Permision Request Result 

 

 @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == OVERLAY_PERMISSION_CODE) {
       
        if (Settings.canDrawOverlays(this)) {
            // SYSTEM_ALERT_WINDOW permission not granted...
           
            Intent serviceIntent = new Intent(Homepage.this, ChatHeadService.class);
            serviceIntent.putExtra("removeUserId", friendId);
            startService(serviceIntent);

        } else {
             Toast.makeText(MyProtector.getContext(), "ACTION_MANAGE_OVERLAY_PERMISSION Permission Denied", Toast.LENGTH_SHORT).show();
        }
    }