Чтобы использовать Media Plugin для Xamarin, вам необходимо выполнить некоторые дополнительные необходимые настройки, как описано в readme.txt
.
Дополнительные обязательные настройки (пожалуйста, прочитайте!)
Android
В BaseActivity или MainActivity (для Xamarin.Forms) добавьте этот код:
Добавить употребления:
using Plugin.Permissions;
using Plugin.Permissions.Abstractions;
Затем добавьте в Активность:
public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Permission[] grantResults)
{
PermissionsImplementation.Current.OnRequestPermissionsResult(requestCode, permissions, grantResults);
}
Требуются разрешения WRITE_EXTERNAL_STORAGE
, READ_EXTERNAL_STORAGE
, но библиотека автоматически добавит это для вас. Кроме того, если ваши пользователи используют Marshmallow, плагин автоматически запросит у них разрешения во время выполнения.
ANDROID N
Если ваше приложение предназначено для Android N (API 24) или новее, вы должны использовать версию 2.6.0 +.
Вы также должны добавить несколько дополнительных файлов конфигурации, чтобы придерживаться нового строгого режима:
1.) Добавьте следующее в ваш AndroidManifest.xml внутри тегов:
<provider android:name="android.support.v4.content.FileProvider"
android:authorities="YOUR_APP_PACKAGE_NAME.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths"></meta-data>
</provider>
YOUR_APP_PACKAGE_NAME
должно быть установлено в имени пакета вашего приложения!
2.) Добавьте новую папку с именем xml в папку ресурсов и добавьте новый файл XML с именем file_paths.xml
Добавьте следующий код:
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<external-files-path name="my_images" path="Pictures" />
<external-files-path name="my_movies" path="Movies" />
</paths>
Для YOUR_APP_PACKAGE_NAME должно быть указано имя пакета вашего приложения!
Вы можете прочитать больше на: https://developer.android.com/training/camera/photobasics.html
Настройка текущей активности Android
Этот плагин использует Плагин текущей активности , чтобы получить доступ к текущей активности Android. Обязательно завершите полную настройку, если файл MainApplication.cs не был автоматически добавлен в ваше приложение. Пожалуйста, полностью прочитайте Текущую документацию по плагинам активности . В абсолютном минимуме вы должны установить следующее в методе OnCreate вашей Деятельности:
csharp
Plugin.CurrentActivity.CrossCurrentActivity.Current.Activity = this;
Настоятельно рекомендуется использовать пользовательское приложение, описанное в Документация по текущему подключаемому модулю