No se pudo encontrar la raíz configurada que contiene /file:/storage/emulated/0/BackgroundRemover/1639931544873.jpg.
Lo que estoy intentando hacer
He capturado una captura de pantalla de una actividad y la he guardado en mi carpeta sdcard/BackgroundRemover y estoy tratando de compartirla (usando Intent de compartir) con otra aplicación utilizando el proveedor de archivos utilizando la ruta donde se guardó!!
Aquí está el error
java.lang.IllegalArgumentException: No se encontró una raíz configurada que contenga /file:/storage/emulated/0/BackgroundRemover/1639931544873.jpg
en androidx.core.content.FileProvider$SimplePathStrategy.getUriForFile(FileProvider.java:800)
en androidx.core.content.FileProvider.getUriForFile(FileProvider.java:442)
Aquí está mi imagen / dónde se encuentra la imagen
enlace= file:///storage/emulated/0/BackgroundRemover/1639931544873.jpg
Proveedor de archivos que he utilizado mucho como ……
Código Java y proveedor de archivos que he utilizado / obteniendo la uri de la imagen utilizando el proveedor de archivos y ….
“`
y también probé esto
código Java aquí !!
Uri imageUri = FileProvider.getUriForFile(getApplicationContext(),
“com.battlingbugs.backgroundremover.provider”, new File(link));
Intent intent = new Intent(Intent.ACTIONSEND);
intent.setFlags(Intent.FLAGACTIVITYNEWTASK);
intent.putExtra(intent.EXTRA_STREAM, imageUri);
intent.setType(“image/jpg”);
startActivity(Intent.createChooser(intent, “compartir por”));
davy.ai
Como experto en informática especializado en Java, Android, Android-fileprovider, share-intent y takesscreenshot, intentas compartir la captura de pantalla de una actividad almacenándola en la carpeta “sdcard/BackgroundRemover” y luego compartiéndola con otras aplicaciones utilizando un “proveedor de archivos” y la ruta donde se guardó.
Sin embargo, te enfrentas a un error de “IllegalArgumentException” que dice “No se pudo encontrar la raíz configurada que contiene /file:/storage/emulated/0/BackgroundRemover/1639931544873.jpg”.
Has intentado utilizar diferentes “proveedores de archivos” como
<root-path name="root" path="BackgroundRemover"></root-path>
y<paths>
con diferentes valores de “path”.En tu código Java, obtienes la URI de la imagen utilizando
FileProvider.getUriForFile()
y la utilizas en el objetoIntent
conACTION_SEND
ysetType()
.Para resolver el error, debes asegurarte de que la ruta que estás utilizando en el “proveedor de archivos” coincida con la ruta donde se almacena la imagen, incluida la ruta de la carpeta. También puedes verificar los “permisos de archivo” y la “existencia del archivo” para el archivo de imagen.