Xamarin.android Xamarin Android:在PublicDirectory上为我的应用程序创建文件夹

Xamarin.android Xamarin Android:在PublicDirectory上为我的应用程序创建文件夹,xamarin.android,Xamarin.android,我有一个有趣但棘手的安卓问题。在我的Xamarin表单项目中,我想创建一个文件夹,在其中存储应用程序生成的所有文件,以便通过文件管理器轻松访问这些文件 直到今天早上,我用的是Android Environmentstring path = Android.OS.Environment. GetExternalStoragePublicDirectory( Android.OS.Enviro

我有一个有趣但棘手的安卓问题。在我的Xamarin表单项目中,我想创建一个文件夹,在其中存储应用程序生成的所有文件,以便通过文件管理器轻松访问这些文件

直到今天早上,我用的是Android

Environmentstring path = Android.OS.Environment.
                         GetExternalStoragePublicDirectory(
                             Android.OS.Environment.DirectoryDocuments).ToString();
Environmentpath += "/MyApp";
EnvironmentDirectory.CreateDirectory(path);
我在解决方案中添加了一些新组件,现在所有内容都被拒绝了

System.UnauthorizedAccessException:拒绝访问路径“/storage/emulated/0/Documents/MyApp”

然后我更改了AndroidManifest.xml

<?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>

但现在我无法在此文件夹中创建任何内容。例如,我在我的其他应用程序中使用相同的代码,结果是

有什么建议吗?谢谢

如上所述,请尝试在您的设备上转到您的应用程序管理器并启用权限。对我来说是

设置>设备>应用程序>应用程序名>权限>存储


启用它,您就可以开始了。

在哪个设备上进行测试?如果您在Android 6硬件上进行测试,请检查app manager中的权限。有时,write_外部存储被忽略,必须在应用程序管理器中进行设置。我的设备是一款搭载Android 6的Cubot手机。我认为
write\u external
被忽略,但我不知道如何设置它。打开appmanager并导航到您的应用程序。单击它,然后单击权限。现在打开存储器。那有帮助。在Visual Studio中的s7.0、appmanager或android设备上是否存在相同的问题