我需要在混合应用程序中打开pdf,pdf以前是由混合应用程序下载的(该应用程序具有从外部存储器读取和写入)。我可以通过fileSystem检索文件条目:
someDirEntry.getFile(fileName, {create: true, exclusive: false}, openViewPdf, ioFail);
在openViewPdf中我可以读取文件的路径:
function openViewPdf(fe){
console.log("V1 "+fe.toURL());
console.log("V2 "+fe.fullPath);
//console.error("V3 "+toNativeURL()); //not supported by 2.3.0
window.open(fe.toURL(), '_system');
}
输出类似于:
V1 file:///mnt/sdcard/someDir/fileName.pdf
V2 file:///mnt/sdcard/someDir/fileName.pdf
即。 fullpath和.toURL()之间没有区别。将打开一个新窗口,但在新窗口中,我看到一个错误提示:
There was a network error. (file:///android_asset/www/fileName.pdf
就像InAppBrowser试图在应用程序的资产目录中打开pdf一样(这当然是错误的!)正确的路径是上面列出的路径。除了尝试额外的插件之外,还有什么方法可以做这项工作(参见:Phonegap how to download and open pdf file in android app)?
答案 0 :(得分:0)
经过大量工作,答案是:“不,没有办法在Android中使用InAppBrowser打开pdf”。好处是插件在java中很容易做到。