title: Xamarin Form, myDir.Mkdir(); return false in Android project
body: <p>I need to create a folder and file in the public external storage of my device, here my code:</p>
  <p>Android Manifest</p>
  <pre class="lang-xml prettyprint-override"><code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
  &lt;manifest xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot; android:versionCode=&quot;1&quot; android:versionName=&quot;1.0&quot; package=&quot;com.companyname.MyApp&quot;&gt;
      &lt;uses-sdk android:minSdkVersion=&quot;21&quot; android:targetSdkVersion=&quot;29&quot; /&gt;
    &lt;uses-permission android:name=&quot;android.permission.ACCESS_NETWORK_STATE&quot;/&gt;
    &lt;uses-permission android:name=&quot;android.permission.WRITE_EXTERNAL_STORAGE&quot; /&gt;
      &lt;application android:label=&quot;MyApp.Android&quot; android:theme=&quot;@style/MainTheme&quot;&gt;
  
      &lt;provider
             android:name=&quot;androidx.core.content.FileProvider&quot;
             android:authorities=&quot;${applicationId}.provider&quot;
             android:exported=&quot;false&quot;
             android:grantUriPermissions=&quot;true&quot;&gt;
        &lt;meta-data
            android:name=&quot;android.support.FILE_PROVIDER_PATHS&quot;
            android:resource=&quot;@xml/provider_paths&quot; /&gt;
      &lt;/provider&gt;
    &lt;/application&gt;
  &lt;/manifest&gt;
  </code></pre>
  <p><code>SaveAndroid.cs</code> in Android project:</p>
  <pre class="lang-java prettyprint-override"><code>string exception = string.Empty;
          string root = null;
  
          //Get the root path in android device.
          if (Android.OS.Environment.IsExternalStorageEmulated)
          {
              root = Path.Combine(Android.OS.Environment.ExternalStorageDirectory.AbsolutePath, Android.OS.Environment.DirectoryDownloads);
          }
          else
          {
              root = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
          }
  
          //Create directory and file 
          Java.IO.File myDir = new Java.IO.File(root + &quot;/PDFChantier&quot;);
          bool created = myDir.Mkdir();
          Java.IO.File file = new Java.IO.File(myDir, fileName);
  </code></pre>
  <p>But <code>myDir.Mkdir()</code> always returns false. When I install my app, it's asking for the write access so the right should be ok.</p>
  <p>I am sure I am missing something stupid, but I already tried all StackOverflow and Google answer, and didn't manage to make it work.</p>