2013-03-07 88 views
2

我打算開發一個支持PDF閱讀功能的超鏈接支持的android應用程序。手段我想要顯示嵌入超鏈接在pdf和用戶點擊超鏈接我的應用程序需要重定向到瀏覽器。 我不想使用谷歌文檔。我已經找到了一些開源的PDF格式的SDK,但我無法提供對超鏈接的支持。請告訴我,如果任何開源的SDK可用,其中也提供超鏈接支持。android pdf查看器sdk嵌入式超鏈接支持

回答

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; 
} 
}