Я пытаюсь реализовать FileProvider, чтобы разрешить мне распространять локальные, частные изображения с помощью электронной почты и других приложений. Я следую инструкциям Руководства для разработчиков Android и перехожу к тому, где мне нужно использовать функцию getUriForFile, и Eclipse говорит мне, что мне нужно создать метод. Я был под впечатлением, что это должно быть в пакете android.support.v4.content, и он находится в справочных библиотеках для приложения, но его нет.Не удается найти метод getUriForFile в FileProvider
Я добавил следующее к моему манифесту:
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="com.gelbintergalactic.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/my_paths" />
</provider>
Я создал этот XML-файл:
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<files-path name="files" path="." />
</paths>
Но когда я добираюсь до этого момента в моем коде я загнан в углу:
Uri contentUri = getUriForFile(this, "com.gelbintergalactic.fileprovider", newfile);
Какой шаг я пропустил?
Когда я пытался использовать приложение с манифестом и XML путями файла на месте, но с кодом исполнения устранен, я получил следующий LogCat : 11-12 11: 57: 39.357: E/AndroidRuntime (11019): Caused by: java.lang.ClassNotFoundException: android.support.v4.content.FileProvider – GeoffSudoku
Я нашел явный исходный код для FileProvider и смог его добавить к коду моего приложения и заставить его работать, но мне все же остается загадка, почему это не похоже на пакет android.support.v4.content, с которым я связан с Eclipse. – GeoffSudoku
Теперь я знаю правильный способ получить текущую библиотеку android.support.v4 в свое приложение. Щелкните правой кнопкой мыши пакет, инструменты Android, добавить библиотеку поддержки ... – GeoffSudoku