Cómo otorgar permisos de superposición de pantalla en mi actividad

En mi aplicación, tengo un problema de superposición de pantalla en Android 6+. Intenté encenderlo, pero para eso necesito dar un permiso para la superposición de pantalla

Seguíesta No puedo integrarme en mi actividad

También probéesta Parece que ambos están funcionando, así que quiero integrarlos en mi actividad

Esta es mi actividad:

public class MainActivity extends Activity {

    public static final int R_PERM = 123;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.data);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

        if ((CheckPermission(this, Manifest.permission.CAMERA)) &&
                (CheckPermission(this, Manifest.permission.READ_PHONE_STATE)) &&
                (CheckPermission(this, Manifest.permission.NFC))) {
            PermHandling();
        } else {
            RequestPermission(MainActivity.this, Manifest.permission.CAMERA, R_PERM);
            RequestPermission(MainActivity.this, Manifest.permission.READ_PHONE_STATE, R_PERM);
            RequestPermission(MainActivity.this, Manifest.permission.NFC, R_PERM);

            //NewPermHandling();
        }

    }

    private void PermHandling() {
        //My app internal parts....
        //Here my stuff works...
    }

    //private void NewPermHandling(){

    //}

    @Override
    public void onRequestPermissionsResult(int permsRequestCode, String[] permissions, int[] grantResults) {

        switch (permsRequestCode) {

            case R_PERM: {
                if (grantResults.length > 0
                        && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                    PermHandling();
                } else {
                    //Toast.makeText(this, "Please Grant Permissions other wise app will close.!", Toast.LENGTH_SHORT).show();
                }
                return;
            }
        }
    }

    public void RequestPermission(Activity thisActivity, String Permission, int Code) {
        if (ContextCompat.checkSelfPermission(thisActivity,
                Permission)
                != PackageManager.PERMISSION_GRANTED) {
            if (ActivityCompat.shouldShowRequestPermissionRationale(thisActivity,
                    Permission)) {
            } else {
                ActivityCompat.requestPermissions(thisActivity,
                        new String[]{Permission},
                        Code);
            }
        }
    }

    public boolean CheckPermission(Context context, String Permission) {
        if (ContextCompat.checkSelfPermission(context,
                Permission) == PackageManager.PERMISSION_GRANTED) {
            return true;
        } else {
            return false;
        }
    }
}

¿Alguien puede sugerirme cómo dar permiso de orientación de pantalla en mi actividad para que el usuario no tenga que darlo o preocuparse por eso? Por favor, ayude.PERM_REQUEST_CODE_DRAW_OVERLAYS

Cualquiera Por favor, ayúdame en mi actividad, esto no es duplicado o algo más que estoy preguntando Cómo agregarlo en mi actividad

Respuestas a la pregunta(4)

Su respuesta a la pregunta