Android 10@ionic native/文件传输/文件开启器不工作

Android 10@ionic native/文件传输/文件开启器不工作,android,angular,ionic-framework,ionic4,Android,Angular,Ionic Framework,Ionic4,@ionic native/file transfer/file opener不工作我在尝试下载pdf并在我的ionic angular项目中打开时遇到“打开失败:EACCES(权限被拒绝)”错误。这是用于打开附件的头文件和函数。这在android版本9中工作正常,但在android 10中不工作。出现此问题的原因是什么 头文件 函数调用 我已将AndroidManifest文件中的AndroidTargetSDK版本更改为28。现在可以运行了。我正在从AndroidStudio运行该应用程序。

@ionic native/file transfer/file opener不工作我在尝试下载pdf并在我的ionic angular项目中打开时遇到“打开失败:EACCES(权限被拒绝)”错误。这是用于打开附件的头文件和函数。这在android版本9中工作正常,但在android 10中不工作。出现此问题的原因是什么

头文件

函数调用


我已将AndroidManifest文件中的AndroidTargetSDK版本更改为28。现在可以运行了。我正在从AndroidStudio运行该应用程序。因此,将该值更改为28使其可以运行。希望这能起作用

import { FileTransfer, FileTransferObject } from '@ionic-native/file-transfer';
import { File } from '@ionic-native/file';
import { FileOpener } from '@ionic-native/file-opener';
import { PhotoViewer } from '@ionic-native/photo-viewer';
constructor(public navCtrl: NavController, public navParams: NavParams,
...
private fileTransfer: FileTransfer,
private platform: Platform,
private file: File,
private fileOpener: FileOpener,
private photo: PhotoViewer,
...
) {...}

openAttachment(attachment) {
this.notification.getNotificationCount(this.userID).subscribe(res => this.setNotificationsCountAtStart(res));
this.loader.displayLoader();
const transfer: FileTransferObject = this.fileTransfer.create();
var filename = attachment.substring(attachment.lastIndexOf('/') + 1);
var filePath;
if (this.platform.is('ios')) {
  filePath = this.file.documentsDirectory + filename;
} else if (this.platform.is('android')) {
  filePath = this.file.externalRootDirectory + 'Download/' + filename;
}
if (attachment.indexOf('.pdf') > -1) {
  transfer.download(this.baseurl + attachment, filePath, true).then((entry) => {
    let url = entry.toURL();
    this.fileOpener.open(url, 'application/pdf')
      .then(() => {
        console.log('File is opened');
        this.loader.hideLoader();
      })
      .catch(e => console.log('Error opening file', JSON.stringify(e)))
  }, (error) => {
    // handle error
    let toast = this.toast.create({
      message: JSON.stringify(error),
      duration: 3000,
      position: 'bottom'
    });
    toast.present();
  });
} else if (attachment.indexOf('.png') > -1) {
  transfer.download(this.baseurl + attachment, filePath, true).then(entry => {
    let url = entry.toURL();
    this.loader.hideLoader();
    this.photo.show(url, filename, {});
  })
} else if (attachment.indexOf('.jpg') > -1) {
  transfer.download(this.baseurl + attachment, filePath, true).then(entry => {
    let url = entry.toURL();
    this.loader.hideLoader();
    this.photo.show(url, filename, {});
  })
} else if (attachment.indexOf('.jpeg') > -1) {
  transfer.download(this.baseurl + attachment, filePath, true).then(entry => {
    let url = entry.toURL();
    this.loader.hideLoader();
    this.photo.show(url, filename, {});
  })
} else {
  this.loader.hideLoader();
}
}