No se puede encontrar el método "getUriForFile" en FileProvider
Estoy tratando de implementar un FileProvider para permitirme compartir imágenes locales y privadas con correo electrónico y otras aplicaciones. He estado siguiendo las instrucciones de la Guía de desarrolladores de Android y bajar a donde tengo que usar la función "getUriForFile" y Eclipse me dice que tengo que crear el método. Estaba bajo la impresión de que esto debería estar en el paquete android.support.v4.content y está en las bibliotecas referenciadas para la aplicación, pero no está allí.
He añadido lo siguiente a mi Manifiesto:
<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>
He creado este archivo xml:
<?xml version="1.0" encoding="utf-8"?> <paths xmlns:android="http://schemas.android.com/apk/res/android"> <files-path name="files" path="." /> </paths>
Pero cuando llego a este punto en mi código estoy bloqueado:
Uri contentUri = getUriForFile(this, "com.gelbintergalactic.fileprovider", newfile);
¿Qué paso me falta?
Sí, las instrucciones en la guía dev no son las mejores. getUriForFile()
es un método estático de la clase FileProvider por lo que necesita hacer:
Uri contentUri = FileProvider.getUriForFile(this, "com.gelbintergalactic.fileprovider", newfile);