Reputation: 6276
I have a funny but tricky problem with Android. In my Xamarin Forms project I want to create a folder where I store all files generated from my app so I can access to them easily via a FileManager.
Until this morning in Android I used
Environmentstring path = Android.OS.Environment.
GetExternalStoragePublicDirectory(
Android.OS.Environment.DirectoryDocuments).ToString();
Environmentpath += "/MyApp";
EnvironmentDirectory.CreateDirectory(path);
I added some new components to my solutions and now everything is denied.
System.UnauthorizedAccessException: Access to the path "/storage/emulated/0/Documents/MyApp" is denied.
I changed then the AndroidManifest.xml like
<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
<uses-sdk android:minSdkVersion="15" android:targetSdkVersion="23" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WRITE_GSERVICES" />
</manifest>
But now I can't create anything in this folder. Just for example, I'm using the same code in other my application and the result is
Any suggestions? Thanks
Upvotes: 1
Views: 4887
Reputation: 20289
As user1230268 stated try to go to your app manager on your device and enable the permissions. For me it was
Settings > Device > Apps > YourAppName > Permissions > Storage
Enable it and you should be good to go.
Upvotes: 1