Плагин Ionic4 fileOpener не может открыть скачанный файл .apk - PullRequest
0 голосов
/ 13 февраля 2019

Я пытаюсь сделать «Открыть диалог установки» из «Быстрых примеров» из 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 Ответ

0 голосов
/ 13 февраля 2019

Я нашел решение, добавьте эти строки в 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>
...