我有一个带有pdf的cordova应用程序。每年pdf都需要更新,并且似乎有一个新的头痛,让它在Android上运行。
在iOS上,我可以使用InAppBrowser和相对url打开它
cordova.InAppBrowser.open(URL,'_blank','closebuttoncaption=< Terug,toolbar=yes');
在android上,我使用了不同的方法,childbrowser,fileOpener2并将文件复制到外部DataDirectory
var uri = 'www/' + URL;
window.resolveLocalFileSystemURL(cordova.file.applicationDirectory + uri,
function(fileEntry) {
window.resolveLocalFileSystemURL(cordova.file.externalDataDirectory, function(dirEntry) {
fileEntry.copyTo(dirEntry, uri.split('/').pop(), function(newFileEntry) {
//window.open(newFileEntry.nativeURL, '_system');
cordova.plugins.fileOpener2.open(newFileEntry.nativeURL,'application/pdf');
});
});
}, function(evt) {
alert("Problem opening catalogus n" +JSON.stringify(evt));
console.log(JSON.stringify(evt));
}
);
最新的解决方案正在使用
<preference name="android-targetSdkVersion" value="23" />
<preference name="android-minSdkVersion" value="16" />
但谷歌现在只将targetSdkVersion 26排除在商店之外
那么有什么好的工作解决方案吗?
当我开始时,我认为这是一个常见的用例并且易于实现......
您可以在此处找到说明和解决方法:https://github.com/apache/cordova-plugin-inappbrowser/issues/386
我希望这将很快通过 PR 解决。