4

我有一个活动允许用户使用默认的 pdf/电子书查看器打开加密的 pdf 文件。加密的pdf文件的解密结果是一个字节数组。我想将该字节数组传递给以 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 是我的字节数组。

4

2 回答 2

3

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

于 2012-11-01T14:53:03.333 回答
3

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

可能不是。欢迎您联系这些应用程序的开发人员并询问他们。而且,正如其他人指出的那样,由于尺寸问题,这是一个坏主意。此外,如果您启动的 PDF 查看器碰巧启动了自己的任务,您的字节数组将可以被设备上的任何应用程序读取

或者,欢迎您使用ContentProvider这样的,您可以在其中制定一些一次性Uri结构,因此一旦 PDF 查看器使用Uri,其他任何东西都不能。

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

于 2012-11-01T23:21:39.140 回答