当前位置: 首页 > 知识库问答 >
问题:

fileprovider外部文件路径共享为空

胡利
2023-03-14

我看到了很多代码和示例,但我的应用程序还不能正常工作,我想在/storage/emulated/0/Android/data/ir上分享我的图像。esfandune。mohsen/files/Download/文件夹,如存储/模拟/0/Android/data/ir。esfandune。mohsen/files/Download/cnt\u imags/images/n1/n1(18)。jpg,我在清单中定义提供者:

 <provider
        android:name="android.support.v4.content.FileProvider"
        android:authorities="${applicationId}"
        android:exported="false"
        android:grantUriPermissions="true">
        <meta-data
            android:name="android.support.FILE_PROVIDER_PATHS"
            android:resource="@xml/provider_paths"/>
    </provider>

和XML:

我的代码是:

 File file = getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS);
            File f = new File(file.getPath() + File.separator + "cnt_imags" + File.separator);
 final Intent intent = new Intent(Intent.ACTION_SEND);
                        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                        Uri uri = FileProvider.getUriForFile(ReadActivity.this, BuildConfig.APPLICATION_ID ,fA); .....
                        intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
                        intent.setType("image/png");
                        startActivity(intent);

但是当发送到其他应用程序时,不要分享任何东西

共有1个答案

通和裕
2023-03-14

您创建了一个Uri,然后什么都没做。对于动作发送,您将Uri附加为额外流。

有关更多信息,请参阅文档。

 类似资料:
  • 我正在尝试使用内容提供程序共享我的内部日志文件。我有以下

  • 我理解为什么文件提供商可以在控制权限的同时,将一个应用程序的私有文件(应用程序内部存储中的文件)共享给另一个应用程序。 文档解释了它如何也可以用来共享外部存储(SD卡等)中的文件: <代码> 而不是 <代码> (https://developer.android.com/reference/android/support/v4/content/FileProvider.html) 这有什么意义?为

  • 我正在尝试传递一个位于我的应用程序的res/raw目录中的图像以及共享意图。 我遵循了FileProvider文档中描述的流程,下面是我的代码: Androidanifest.xml 我的活动中的代码: 由于无法访问我在其他应用程序中获取的文件,因此上述操作无效: java.io.FileNotFoundException:FILE_PATH:打开失败: EACCES(权限拒绝) 知道我做错了什么

  • 但是,执行这一行给了我(为了保护无辜者而改变了名字): 应用程序A在清单文件中有以下内容: filePaths.xml具有: 文件最终的实际路径是: 在这一点上,我被难住了。我不知道为什么不能授予我在同一个应用程序中创建的文件的权限。所以我的问题是:为什么我会得到这个异常,我如何才能成功地授予应用程序B的权限?

  • 跟随https://developer.android.com/training/secure-file-sharing/index.html,并能够共享文件在内部目录(/data/data/pack/files/xxx/)的应用程序到客户端应用程序使用file提供程序。 如何将资产文件夹(而不是内部目录)中的文件共享到客户端应用程序。 谢谢

  • 问题内容: 因此,我正在运行此javascript,并且除背景图片的路径外,其他所有功能都正常运行。它可以在我的本地ASP.NET Dev环境中使用,但是当部署到虚拟目录中的服务器时则无法使用。 这在外部.js文件中,文件夹结构为 然后这就是js文件所在的位置 我已经尝试过使用,但也不起作用;但是,如果使用,它似乎可以在服务器上工作。 基本上,我希望具有与ASP.NET tilda-相同的功能。