我想做什么
我已经捕获了一个活动的屏幕截图并将其存储在我的 sdcard/BackgroundRemover 文件夹中,并尝试使用文件提供程序使用保存它的路径将其共享(共享意图)到其他应用程序!
这是错误
java.lang.IllegalArgumentException:无法 在 androidx 的 androidx.core.content.FileProvider$SimplePathStrategy.getUriForFile(FileProvider.java:800) 中找到包含 /file:/storage/emulated/0/BackgroundRemover/1639931544873.jpg 的配置根。 core.content.FileProvider.getUriForFile(FileProvider.java:442)
这是我的图像/图像的存储位置
链接=文件:///storage/emulated/0/BackgroundRemover/1639931544873.jpg
我用过很多喜欢的文件提供程序......
Java 代码和文件提供程序我已经使用 /geting image uri using file provider and ....
<root-path name="root" path="BackgroundRemover" />
and also tried this one
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<external-path
name="external"
path="BackgroundRemover/" />
<external-files-path
name="external_files"
path="BackgroundRemover/" />
<cache-path
name="cache"
path="BackgroundRemover/" />
<external-cache-path
name="external_cache"
path="BackgroundRemover/" />
<files-path
name="files"
path="BackgroundRemover/" />
</paths>
java code here !!
Uri imageUri = FileProvider.getUriForFile(getApplicationContext(),
"com.battlingbugs.backgroundremover.provider", new File(link));
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra(intent.EXTRA_STREAM, imageUri);
intent.setType("image/jpg");
startActivity(Intent.createChooser(intent, "share by"));