Я пытаюсь загрузить, а затем просмотреть pdf-файл с помощью DocumentViewer, пока код работает на iPad, но как только я пробую его на устройстве android, я получаю сообщение об ошибке.
Сильфон - мой структура кода.
let path = null;
if(this.platform.is('ios'))
path = this.file.tempDirectory;
else
path = this.file.dataDirectory;
const docViewerOpt:DocumentViewerOptions = {
title: 'Report',
email : {
enabled : true
},
print : {
enabled : true
},
};
const transfer: FileTransferObject = this.fileTransfer.create();
transfer.download(url,path+"report.pdf", true).then((response)=>{
this.file.checkFile(path, "report.pdf").then((resp)=>{
if(resp){
let filePath = response.toURL();
this.document.viewDocument(filePath, 'application/pdf',docViewerOpt,
(onError:any)=>{
console.error('onError',onError);
}
);
}
else{
this.alertServ.openAlertModal('fail', 'Failed', 'Downloaded file does not exist.', 'Ok');
}
});
}).catch((error) => {
console.error("download error " + error);
});
, но я продолжаю получать эту ошибку на устройстве android.
[console.error]: "Error in SitewaertsDocumentViewer.viewDocument(): " {
[ng] "status": 9,
[ng] "message": "Attempt to invoke virtual method 'android.content.res.XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData(android.content.pm.PackageManager, java.lang.String)' on a null object reference",
[ng] "details": "java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData(android.content.pm.PackageManager, java.lang.String)' on a null object reference\n\tat android.support.v4.content.FileProvider.parsePathStrategy(FileProvider.java:604)\n\tat android.support.v4.content.FileProvider.getPathStrategy(FileProvider.java:578)\n\tat android.support.v4.content.FileProvider.getUriForFile(FileProvider.java:416)\n\tat de.sitewaerts.cordova.documentviewer.DocumentViewerPlugin._open(DocumentViewerPlugin.java:500)\n\tat de.sitewaerts.cordova.documentviewer.DocumentViewerPlugin.doExecute(DocumentViewerPlugin.java:311)\n\tat de.sitewaerts.cordova.documentviewer.DocumentViewerPlugin.access$000(DocumentViewerPlugin.java:49)\n\tat de.sitewaerts.cordova.documentviewer.DocumentViewerPlugin$1.run(DocumentViewerPlugin.java:184)\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)\n\tat java.lang.Thread.run(Thread.java:764)\n"
Я не могу найти источники, объясняющие это. Pls. Мне нужна твоя помощь.