Android 无法通过Intent在Adobe或Viewer中打开下载的PDF

Android 无法通过Intent在Adobe或Viewer中打开下载的PDF,android,pdf,Android,Pdf,我正试图通过一个新的意图打开一个.pdf文件。意图激发,pdf应用程序选择激发。当我选择任一应用程序时。应用程序显示“无法打开文档”,我正在传递数据/data/com.android.providers.downloads/cache/document.pdf,因为我怀疑Uri是问题所在。没有sd卡。pdf将通过dowloads文件夹正常打开。感谢您的帮助 我正在传递data/data/com.android.providers.downloads/cache/document.pdf作为Uri

我正试图通过一个新的意图打开一个.pdf文件。意图激发,pdf应用程序选择激发。当我选择任一应用程序时。应用程序显示“无法打开文档”,我正在传递数据/data/com.android.providers.downloads/cache/document.pdf,因为我怀疑Uri是问题所在。没有sd卡。pdf将通过dowloads文件夹正常打开。感谢您的帮助

我正在传递data/data/com.android.providers.downloads/cache/document.pdf作为Uri

第三方应用程序无法读取该文件

pdf将通过dowloads文件夹正常打开

您的主要选择是将PDF存储在外部存储器(如dowloads文件夹)上,或者创建一个ContentProvider,它可以在内部存储器之外为文件提供服务。演示这样一个ContentProvider

我正在传递data/data/com.android.providers.downloads/cache/document.pdf作为Uri

第三方应用程序无法读取该文件

pdf将通过dowloads文件夹正常打开


您的主要选择是将PDF存储在外部存储器(如dowloads文件夹)上,或者创建一个ContentProvider,它可以在内部存储器之外为文件提供服务。演示这样的内容提供者。

此文件是您创建的吗?如果是这样的话,在您将其传递给其他应用程序之前,您始终可以使其具有全球可读性。这个文件是您创建的吗?如果是这样的话,在将其传递给其他应用程序之前,您可以始终使其具有全球可读性。其他应用程序无法读取它,因为它位于data/data/app_name中?@EGHDK:是的。应用程序的内部存储是读写的,其他所有进程的内部存储是全部拒绝。我已创建了一个新目录,通过setDestinationNexternalPublicDirenEnvironment.downloads将下载存储在中。当我调用getExternalStoragePublicDirectory时。。。目录和文件在一起。当我试图通过新的意图打开文件时,Adobe无法打开。@SoundsDangerous:无法打开是对您症状的无用描述。@Commonware:我昨晚参加了内容提供商速成班,并从您链接的示例项目中实现了FileProvider obj。我认为供应商是解决这种情况的最佳方案。谢谢。它是否因为驻留在data/data/app_name中而无法被其他应用程序读取?@EGHDK:是的。应用程序的内部存储是读写的,其他所有进程的内部存储是全部拒绝。我已创建了一个新目录,通过setDestinationNexternalPublicDirenEnvironment.downloads将下载存储在中。当我调用getExternalStoragePublicDirectory时。。。目录和文件在一起。当我试图通过新的意图打开文件时,Adobe无法打开。@SoundsDangerous:无法打开是对您症状的无用描述。@Commonware:我昨晚参加了内容提供商速成班,并从您链接的示例项目中实现了FileProvider obj。我认为供应商是解决这种情况的最佳方案。非常感谢。