#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, и именно поэтому он не работал.