Плагин Ionic4 fileOpener не может открыть скачанный файл.apk
Я пытаюсь сделать "Открыть диалог установки" из "Быстрых примеров" на https://github.com/pwlin/cordova-plugin-file-opener2 в ionic4.
Это мой код:
Импорт:
import { FileTransfer, FileUploadOptions, FileTransferObject } from '@ionic-native/file-transfer/ngx';
import { FileOpener } from '@ionic-native/file-opener/ngx';
import { File } from '@ionic-native/file/ngx';
Скачайте и откройте файл:
const fileName = 'last.apk';
const fileMime = 'application/vnd.android.package-archive';
//const fileName = 'last.pdf';
//const fileMime = 'application/pdf';
const downloadLink = me.settings.api.bin + fileName;
const basePath = me.file.externalDataDirectory; //dataDirectory, externalApplicationStorageDirectory
const downloadPath = 'apk';
me.file.createDir(basePath, downloadPath, true).then(function(link) {
const savePath = basePath + downloadPath + '/' + fileName;
const fileTransfer: FileTransferObject = me.transfer.create();
fileTransfer.download(downloadLink, savePath).then((entry) => {
me.fileOpener.open(entry.toURL(), fileMime)
.then(() => console.log('File is opened'))
.catch(e => console.log('Error opening file', e));
}, (err) => {
});
});
Работает нормально, PDF скачивается и открывается.
Сбой с APK, файл успешно загружен, и средство открытия файлов говорит "Файл открыт", но диалоговое окно установки никогда не появляется в окне, что не так?
1 ответ
Я нашел решение, добавьте эти строки в config.xml
<config-file parent="/manifest" target="AndroidManifest.xml" xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
</config-file>