离子版本:3.9.5
Angular 5
我正在尝试在Ionic应用程序中打开PDF文件并出现以下错误:
打开文件尝试调用虚拟方法时出错 'android.content.res.XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData(android.content.pm.PackageManager, java.lang.String)”上的空对象引用
所以我遵循了另一篇文章的答案...
我将此代码添加到了config.xml:
<edit-config file="AndroidManifest.xml" mode="merge" target="/manifest/application" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools">
<application android:networkSecurityConfig="@xml/network_security_config">
<provider android:authorities="${applicationId}.opener.provider" android:exported="false" android:grantUriPermissions="true" android:name="io.github.pwlin.cordova.plugins.fileopener2.FileProvider">
<meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/opener_paths" tools:replace="android:authorities" />
</provider>
</application>
</edit-config>
我设法构建它,但没有用,尝试打开文件时仍然出现相同的错误。
这是我的代码:
writeFile(base64:any, contentType: any, fileName: any) {
var DataBlob = this.base64toBlob(base64, contentType);
var filePath = this.file.externalRootDirectory + "download";
this.file.writeFile(filePath, fileName, DataBlob, contentType).then((success) => {
this.fileOpener.open(success.toURL(), this.contentType)
.then(() => console.log('File is opened'))
.catch(e => console.log('Error opening file', e));
}).catch((err) => {
console.log("Error Occured While Writing File", err);
});
}