0

我想做什么

我已经捕获了一个活动的屏幕截图并将其存储在我的 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"));

4

0 回答 0