我有一项活动,允许用户使用默认的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是我的字节数组。
答案 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查看器,该查看器可以使用字节数组。