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

时间:2012-11-01 14:48:22

标签: android pdf tags

我有一项活动,允许用户使用默认的pdf / ebook查看器打开加密的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是我的字节数组。

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:3)

  

pdf阅读器(Adobe /任何其他人)可以从字节数组中了解它是PDF文件吗?

可能不是。欢迎您联系这些应用程序的开发人员并询问他们。并且,正如其他人所指出的那样,由于尺寸问题,这是一个坏主意。此外,如果您启动的PDF查看器恰好开始自己的任务your byte array will be readable by any app on the device

或者,欢迎您使用ContentProvider,例如this one,您可以在其中制作一些一次性Uri结构,因此一旦PDF查看器使用Uri没有别的可以。

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