Android如何将PDF文件作为字节数组传递给intent

Android如何将PDF文件作为字节数组传递给intent,android,pdf,tags,Android,Pdf,Tags,我有一个活动,允许用户使用默认的pdf/电子书查看器打开加密的pdf文件。加密pdf文件的解密结果是字节数组。我想将该字节数组传递给一个intent,它将该字节数组作为PDF打开。意图实例化如下所示: PackageManager pm = PackageManager; Intent intentPdf = pm.GetLaunchIntentForPackage("com.adobe.android"); 这可能吗?pdf阅读器(Adobe/任何其他)能从字节数组中理解它是pdf文件吗?

我有一个活动,允许用户使用默认的pdf/电子书查看器打开加密的pdf文件。加密pdf文件的解密结果是字节数组。我想将该字节数组传递给一个intent,它将该字节数组作为PDF打开。意图实例化如下所示:

PackageManager pm = PackageManager;
Intent intentPdf = pm.GetLaunchIntentForPackage("com.adobe.android");
这可能吗?pdf阅读器(Adobe/任何其他)能从字节数组中理解它是pdf文件吗? 我试过Bundle.PutByteArray和Intent.putExtra,但不起作用

var bundle = new Bundle();
bundle.PutByteArray("key", inputFileData);
intentPdf.PutExtra("name", bundle);
StartActivity(intentPdf);

inputFileData是我的字节数组。

我认为包的最大大小非常小,最好将URI传递给解密pdf的pdf阅读器

pdf阅读器(Adobe/任何其他)能从字节数组中理解它是pdf文件吗

可能不会。欢迎您联系这些应用程序的开发人员并询问他们。而且,正如其他人所指出的,由于尺寸问题,这是一个坏主意。此外,如果您启动的PDF查看器碰巧启动了自己的任务

或者,欢迎您使用
ContentProvider
,例如,您可以在其中计算出一些单次使用
Uri
结构,因此,一旦PDF查看器使用
Uri
,其他任何东西都不能使用


或者,欢迎您使用字节数组编写自己的PDF查看器。

我同意您的建议,但我希望使用字节数组的这种方法,这样PDF阅读器就不会访问任何PDF文件路径,仅仅是一个字节数组。我建议您考虑添加一个ContentProvider,因为您的字节数组对于捆绑包来说可能太大:由于某种原因,它的大小很小,这与
Intent
s的目的有关:“Intent是要执行的操作的抽象描述。”操作描述。要处理的数据应该用Uri表示。(文档中说)哦,不,不,你不想通过意图传递整个PDF内容。相信我,我是一名开发人员。好吧,但是否有可能传递整个PDF?我只是想知道,如果是的话,我可以对PDF大小进行排序,对于较大的PDF,我可以使用URI方法。你不会想传递整个PDF。我们并没有打算这样做。见我对劳伦斯·道森回答的评论。