2016-04-28 40 views
0

首先,我試圖下載PDF文件,下載完成後我試圖從下載的路徑中將該PDF文件打開到WebView中。但是當我給PDF的本地存儲文件路徑時它顯示錯誤。下面我粘貼我的代碼和錯誤,當我試圖打開該文件時,請幫助我找到這個問題的正確解決方案。試圖從Titanium中打開離線的pdf文件dataDataDirectory本地存儲在WebView中

var xhr = Titanium.Network.createHTTPClient({ 
 
onload : function() { 
 
var f = Ti.Filesystem.getFile(Ti.Filesystem.applicationDataDirectory, 'test.pdf'); 
 
if (!f.exists()) { 
 

 
f.write(this.responseData); 
 
filepath = f.nativePath; 
 
Ti.API.info('new pdf file'); 
 
} else { 
 
Ti.API.info('file exists' + f.nativePath); 
 
var intent = Ti.Android.createIntent({ 
 
action : Ti.Android.ACTION_VIEW, 
 
type : "application/pdf", 
 
data : f.nativePath 
 
}); 
 
try { 
 
Ti.Android.currentActivity.startActivity(intent); 
 
} catch(e) { 
 
Ti.API.debug(e); 
 
alert('No apps PDF apps installed!'); 
 
} 
 

 

 
} 
 
}, 
 
timeout : 10000 
 
}); 
 
xhr.open('GET', 'http://www.appcelerator.com/assets/The_iPad_App_Wave.pdf'); 
 
xhr.send();

+0

您是否找到了解決方案@anup? – Hasnain

回答

0

這與Appcelerator的Android上的一個共同的問題。問題是:

  • Android不具有一個內置的PDF閱讀器(不像iOS版)
  • 的數據目錄是私有的Appcelerator的,而不是由任何外部PDF閱讀器讀取。

爲了解決這個問題,必須將PDF(使用代碼)複製到Android設備的外部存儲設備(例如SD卡)並從那裏打開。這是不可能仿效的,除非你有一個裝有SD卡的設備,否則這是行不通的。

我仍然在尋找這個問題的解決方案,它適用於Appcelerator的新SDK(5.5.1 - > 6.0.2)。

我敢肯定,(像我一樣),你已經蒐羅網絡尋找答案,並遇到了諸如:

https://archive.appcelerator.com/question/99031/how-to-open-pdf-file-saved-inside-app-directory-in-android-mobile

http://www.appcelerator.com/blog/2015/08/appcelerator-pdf-viewer-demo/

但我似乎無法使他們中的任何一個工作

相關問題