2

我打算开发一个支持带有超链接支持的 pdf 阅读功能的 android 应用程序。意味着我想在 pdf 中显示嵌入的超链接,并且用户单击该超链接我的应用程序需要重定向到浏览器。我不想使用谷歌文档。我找到了一些开源 pdf sdk,但我无法为超链接提供支持。如果有任何开源 sdk 也提供超链接支持,请建议我。

4

1 回答 1

1

这可以通过 WebView 或通过下载 PDF 并打开已安装应用程序的 Intent 来完成。但是,我使用的是第三方 API,它无法打开超链接 PDF。我上面描述的两种方式可以通过

if (!canDisplayPdf()) {
Intent i = new Intent(getBaseContext(), WebActivity.class);
i.putExtra("url", alist.get(position).toString());
//alist.get(position).toString() is hyperlinked pdf url
startActivity(i);
}
else
{
try
{
Toast.makeText(getBaseContext(), "Opening PDF... ", Toast.LENGTH_SHORT).show();
Intent inte = new Intent(Intent.ACTION_VIEW, Uri.parse(alist.get(position).toString()));
//inte.setDataAndType(Uri.parse(alist.get(position).toString()), "application/pdf");
startActivity(inte);
}
catch (ActivityNotFoundException e)
{
Log.e("Activity Not Found", e.getMessage());
}

// If canDisplayPDF function() will ensure whether device has PDF application or not.

public boolean canDisplayPdf() {
PackageManager packageManager = getApplication().getPackageManager();
Intent testIntent = new Intent(Intent.ACTION_VIEW);
testIntent.setType("application/pdf");
if (packageManager.queryIntentActivities(testIntent, PackageManager.MATCH_DEFAULT_ONLY).size() > 0) {
return true;
}
else
{
return false;
}
}
于 2015-10-14T06:52:12.717 回答