I use DownloadManager to download a photo and save it to external pictures directory:
.setDestinationInExternalPublicDir(Environment.DIRECTORY_PICTURES, File.separator + filename)
Marshmallow requires WRITE_EXTERNAL_STORAGE (as expected) but on Android Q and higher it works fine without the permission. Why is it so? Is it because of scoped storage?