如何使用startActivity打开数据uri

时间:2014-08-06 22:30:34

标签: android android-activity data-uri

我想打开一个数据:在我的android应用程序中的一个活动中包含pdf的url。我有类似下面的代码:

String url = "data:application/pdf;base64,JVBERi0xLjIgDQol4uPP0w0KIA..."; // shortened for brevity
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);

我看到了一个错误:

  

错误打开uri:找不到处理Intent的Activity {   act = android.intent.action.VIEW dat = data:application / pdf ...(紧随其后   通过其余的数据网址。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

您需要一个可以处理打开pdf文档的应用程序。如果你仍然希望这样做,请捕获一个ActivityNotFoundException并告诉用户下载一个。

答案 1 :(得分:2)

由于现有大约零个应用程序将支持该方案,您需要自己解码PDF,将其写入文件,然后在文件上打开PDF查看器。