Ionic Image Resizer не работает на Android Oreo - PullRequest
0 голосов
/ 24 августа 2018

Недавно у меня возникли проблемы с использованием плагина Image Resizer от Ionic 3. Как видно из заголовка, он не работает на устройствах с Android Oreo. Я пробовал на более старых версиях, таких как Nougat 7.0, и отлично работает.

Это мой код:

 async resizeImage(uri: any) {
        let options = {
          uri: uri,
          folderName: 'myApp',
          quality: 20,
          width: 250,
          height: 250
        } as ImageResizerOptions;

    return await this.imageResizer
      .resize(options)
      .then((filePath: string) => { 
        // it does not execute this function
        return filePath 
      })
      .catch(e => {
        // It runs the catch() section insted of then()
        console.log(e)
      });
  }

Это ошибка, выдаваемая предложением catch:

Попытка вызвать виртуальный метод 'java.lang.String android.net.Uri.toString ()' для ссылки на пустой объект

Это моя Ионная информация:

cli packages: 

    @ionic/cli-utils  : 1.19.2
    ionic (Ionic CLI) : 3.20.0

global packages:

    cordova (Cordova CLI) : 6.5.0

local packages:

    @ionic/app-scripts : 1.3.7
    Cordova Platforms  : android 6.4.0 browser 5.0.3 ios 4.3.1 windows 4.4.2
    Ionic Framework    : ionic-angular 3.2.1

System:

    Android SDK Tools : 26.1.1
    Node              : v7.10.1
    npm               : 5.8.0
    OS                : Windows 7

Я уже пытался переустановить плагин.

Любые советы, как я могу это исправить?

1 Ответ

0 голосов
/ 25 августа 2018

Добро пожаловать в StackOverflow!

При работе с плагинами Cordova обязательно проверьте их репозиторий github , поскольку некоторые другие пользователи могут получать такую ​​же ошибку, и они, вероятно, знают, как ее исправить или, по крайней мере, обойти ее.

Ошибка

Попытка вызвать виртуальный метод 'java.lang.String android.net.Uri.toString ()' для ссылки на пустой объект

было сообщено в об этой проблеме github , и были созданы два запроса на удаление, чтобы исправить ее: PR-54 и PR-55 . PR-55 был объединен с master филиалом 25 дней назад (Jul 31, 2018).

Последняя версия плагина была выпущена на 21 Jun, 2108, поэтому исправление там не включено. Тем временем вы можете установить плагин из ветки master ( Cordova docs ) следующим образом:

$ cordova plugin add https://github.com/JoschkaSchulz/cordova-plugin-image-resizer.git

и проверьте, исправлена ​​ли там ошибка, поскольку PR уже был объединен в этой ветке.

...