Как установить разрешение на запись во время выполнения внешнего хранилища в Android с помощью xamarin.forms

#c# #android #xamarin.forms

#c# #Android #xamarin.forms

Вопрос:

Привет и заранее спасибо. Я пишу этот вопрос, потому что я просматриваю Интернет уже несколько недель и все еще не могу найти ответ на свой вопрос. Мне нужно включить разрешения во время выполнения в мое приложение для Android, но я не могу найти рабочий способ сделать это. Моя главная проблема в том, что я не знаю, куда поместить функцию requestPermissions().

Комментарии:

1. обычно вы запрашиваете разрешение на выполнение X, когда пользователь пытается сделать что-то, для чего требуется X. ExternalStorage обычно устанавливается в ApplicationManifest, а не во время выполнения

2. Рассматривали ли вы этот плагин? nuget.org/packages/Plugin . Разрешения

Ответ №1:

Сначала вам нужно указать разрешение, необходимое вашему приложению вAndroidManifest.xml файл

 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  

После этого вам необходимо обеспечить Xamarin.Android.Пакет Support.Compat NuGet включен в ваш проект, потому что этот пакет будет возвращать API-интерфейсы, зависящие от разрешения, в более старые версии Android.

Если вы используете Android 6.0 или более поздней версии, вы можете проверить разрешение или запрос в своей деятельности с помощью метода ContextCompat.Проверитьselfpermission

 if (ContextCompat.CheckSelfPermission(this, Manifest.Permission.WriteExternalStorage) == (int)Permission.Granted) 
{
    // We have permission.
} 
else 
{
    // Storage permission is not granted. If necessary display rationale amp; request.
}
  

Комментарии:

1. Спасибо. Я думаю, что мне не хватало Xamarin. Android. Пакет Support.Compat NuGet, и именно поэтому он не работал.