【发布时间】:2021-08-12 17:16:11
【问题描述】:
我有这样一个代码,我可以在其中获得对外部存储的写入权限。在那里我也检查了是否获得了这个权限。
private void ExternalStoragePermission()
{
ActivityCompat.RequestPermissions(this,
new String[]{Manifest.Permission.ReadExternalStorage,
Manifest.Permission.ManageExternalStorage}, 1);
//Android 11
if (Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.R)
{
if (!Android.OS.Environment.IsExternalStorageManager)
{
try
{
Intent intent = new Intent(Android.Provider.Settings.ActionManageAllFilesAccessPermission);
intent.AddCategory("android.intent.category.DEFAULT");
intent.SetData(Android.Net.Uri.Parse(String.Format("package:%s", new object[] { Application.Context.PackageName })));
StartActivityForResult(intent, 2000);
}
catch (Exception e)
{
Intent intent = new Intent();
intent.SetAction(Android.Provider.Settings.ActionManageAllFilesAccessPermission);
StartActivityForResult(intent, 2000);
}
}
}
//Below Android 11
else
{
if ((ContextCompat.CheckSelfPermission(this, Manifest.Permission.WriteExternalStorage) != (int)Permission.Granted)
|| (ContextCompat.CheckSelfPermission(this, Manifest.Permission.ReadExternalStorage) != (int)Permission.Granted))
{
ActivityCompat.RequestPermissions(this, new string[] { Manifest.Permission.ReadExternalStorage, Manifest.Permission.WriteExternalStorage }, 0);
}
}
}
我不知道,请帮帮我
【问题讨论】:
-
我可以创建文件夹,但不能处理文件
-
显示您的代码。我们不知道您想要什么或尝试过什么。
-
//Below Android 1111 日你也应该请求并获得它。 -
Android 11 和 12 不需要所有文件权限即可在公共 Documents 目录中创建文件。
标签: c# android xamarin.forms android-11