title: Android Q: file.mkdirs() returns false
body: <p>We have an app that uses external storage to store some temporary files: images, binary data. The code for that has been working for a few years without big changes until recently. On Android Q it doesn't work:</p>
  
  <pre><code>File f = new File(Environment.getExternalStorageDirectory().toString() + File.separator + MainActivity.APP_DIR)
  f.mkdirs();
  // do sth with f
  </code></pre>
  
  <p>The <code>mkdirs</code> now returns just <code>false</code>.</p>
  
  <p>Required permission is provided in the manifest:</p>
  
  <pre><code>    &lt;uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /&gt;
  </code></pre>
  
  <p>The code works fine on previous versions of Android. Is there some system level change to this type of access? If so, what is the workaround?</p>