System.UnauthorizedAccessException Denied Error - PullRequest
2 голосов
/ 03 июля 2019

Я получаю UnauthorizedAccessException при запуске моего эмулятора с моим приложением, оно говорит мне, что "Access to /storage/emulated/0/Download/MenuPlayer is denied".

Это происходит только тогда, когда я пытаюсь создать файл или открыть папку для загрузки в него файлов.

Мой код AndroidManifest.xml:

<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="26" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />

Мой код, который пытается получить доступ к этому:

try {
    /// Get the path to the downloads folder
    var donwloadDir = Android.OS.Environment.GetExternalStoragePublicDirectory(Android.OS.Environment.DirectoryDownloads);
    path = Path.Combine(donwloadDir.AbsolutePath, dirName);
    dirInfo = new DirectoryInfo(path);
    ///Create a path to the config file folder.
    configFilePath = Android.OS.Environment.GetExternalStoragePublicDirectory("").AbsolutePath + "/";
} catch(Exception e) {
    Android.Util.Log.Debug(TAG, "STUFF HERE..." + configFilePath);
    Android.Util.Log.Debug(TAG, e.Message);
    System.IO.File.WriteAllText(@"C:\logs.txt", e.Message);
}
System.IO.File.WriteAllText(@"C:\logs.txt", Android.OS.Environment.DirectoryDownloads);
Android.Util.Log.Debug(TAG, configFilePath);
Android.Util.Log.Debug(TAG, "END | PlayerReader");

ошибка:

Необработанное исключение:

System.UnauthorizedAccessException: Access to the path "/storage/emulated/0/Download/MenuPlayer" is denied. occurred

1 Ответ

0 голосов
/ 03 июля 2019

Даже если вы включили разрешение READ_EXTERNAL_STORAGE и WRITE_EXTERNAL_STORAGE в манифесте, вам может потребоваться сделать несколько вещей явно в коде.Вы уже это делаете?

Подробности см. В сообщении ниже

Xamarin-System.UnauthorizedAccessException: доступ к пути запрещен

Надеюсь, это поможет

...