提问者:小点点

如何使用Android中另一个应用程序的文件Uri


在我的应用程序中,我从任何其他可以共享pdf文件的应用程序中收到了pdf文件的Uri。

Uri uri = getIntent().getParcelableExtra(Intent.EXTRA_STREAM);

无论如何,我不能完全使用这个Uri,我的图像,因为它是从一个文件提供程序外部我的应用程序。 例如,当我试图创建FileDescriptor时:

ParcelFileDescriptor fd = context.getContentResolver().openFileDescriptor(uri, "r");

出现以下错误:

W/System.err: java.lang.SecurityException: Permission Denial: opening provider androidx.core.content.FileProvider from ProcessRecord{...} (pid=23606, uid=10525) that is not exported from UID 10123

真的需要获取文件路径,复制文件,并获取新的URI? 或者我可以简单地以某种方式管理原始Uri?


共1个答案

匿名用户

据我所知,最好的做法是立即从内容提供商那里读取/复制数据,然后使用这些数据做任何你想做的事情。 所以不要浪费你的时间去试图管理原来的一个。 我希望对你有帮助