Плагин 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>
Другие вопросы по тегам