Я пытаюсь использовать средство выбора файлов, и оно работает с более низкими версиями SDK, но в этом случае (Android 7.1) требуется FileProvider.
Дело в том, что я видел много ответов в Интернете и думаю, что с моим кодом все в порядке. Что вы думаете? Почему я не могу найти ссылку на FileProvider в моем классе?
Надеюсь, у кого-то есть идея, почему это не работает для меня, вот код:
AndroidManifest.xml:
<?xml version = "1.0" encoding = "utf-8"?>
<manifest xmlns:android = "http://schemas.android.com/apk/res/android" android:versionCode = "1" android:versionName = "1.0" package = "com.companyname.AppQ4evo" android:installLocation = "preferExternal">
<uses-sdk android:minSdkVersion = "16" android:targetSdkVersion = "27" />
<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.CONTROL_LOCATION_UPDATES" />
<uses-permission android:name = "android.permission.LOCATION_HARDWARE" />
<uses-permission android:name = "android.permission.INSTALL_LOCATION_PROVIDER" />
<uses-permission android:name = "android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name = "android.permission.READ_EXTERNAL_STORAGE" />
<application android:label = "AppQ4evo.Android" android:icon = "@drawable/srw_circular">
<provider
android:name = "android.support.v4.content.FileProvider"
android:authorities = "${applicationId}.com.companyname.AppQ4evo.fileprovider"
android:grantUriPermissions = "true"
android:exported = "false">
<meta-data
android:name = "android.support.FILE_PROVIDER_PATHS"
android:resource = "@xml/filepaths" />
</provider>
</application>
</manifest>
Ресурсы / xml / filepaths.xml:
<?xml version = "1.0" encoding = "utf-8" ?>
<paths xmlns:android = "http://schemas.android.com/apk/res/android">
<external-path name = "external_files" path = "."/>
</paths>
РЕДАКТИРОВАТЬ1 (Ошибка):
В данном случае это pdf-файл, но он работает, например, на android 4.4, а на android 7.1 - нет.
Таким образом, в основном это вызывает исключение на Android 7.1, и если это так, могу ли я посмотреть трассировку стека исключений?
Редактирую пост и выкладываю ошибку на андроид устройстве @ G.hakim





Это было непросто выяснить, но похоже, что мне нужно добавить это расширение:
https://marketplace.visualstudio.com/items?itemName=EgorBogatov.XamarinGradleBindings#qna
С помощью этой надстройки вы теперь можете добавлять ссылки на Android напрямую, как и ссылки из java (в моем случае FileProvider).
Учебник для этого находится прямо по этой ссылке на github:
https://github.com/EgorBo/Xamarin.GradleBindings
Надеюсь, это поможет людям с этой проблемой.
Когда вы говорите «сборщик файлов», что именно вы здесь пытаетесь выбрать?