首先,我试图下载PDF文件,下载完成后我试图从下载的路径打开该PDF文件到WebView。但是当我给出PDF的本地存储文件路径时,它会显示错误。下面我在尝试打开该文件时粘贴我的代码和错误,请帮我找到解决此问题的正确方法。
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 :(得分:0)
这是Android上Appcelerator的常见问题。问题是:
为了解决这个问题,必须将PDF(使用代码)复制到Android设备的外部存储设备(例如SD卡)并从那里打开。这将是非常不可能模仿的,除非你有一个装有SD卡的设备,否则这不会起作用。
我仍在寻找这个问题的解决方案,它适用于Appcelerator的新SDK(5.5.1 - > 6.0.2)。
我确信(像我一样)你会在网上搜寻寻找答案并遇到类似的事情:
http://www.appcelerator.com/blog/2015/08/appcelerator-pdf-viewer-demo/
但我似乎无法使它们中的任何一个起作用。