Необработанное исключение: MissingPluginException (не найдена реализация для проверки метода на канале plugins.flutter.io/connectivity) - PullRequest
0 голосов
/ 06 февраля 2020

Я уже добавил плагин подключения на моем pubspec.yaml.

connectivity: ^0.4.6

Но все равно получаю эту ошибку:

E/flutter ( 4789): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: MissingPluginException(No implementation found for method check on channel plugins.flutter.io/connectivity)
E/flutter ( 4789): #0 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:314:7)
E/flutter ( 4789):
E/flutter ( 4789): #1 Connectivity.checkConnectivity (package:connectivity/connectivity.dart:73:47)

ошибка подключения от этой линии :

  Future<ConnectivityResult> checkConnectivity() async {
    final String result = await methodChannel.invokeMethod<String>('check');
    return _parseConnectivityResult(result);
  }

и я никогда не изменял этот пакет, но все равно получаю эту ошибку независимо от того, какую версию этого плагина я использую. Я надеюсь, что кто-нибудь может помочь мне решить эту ошибку, спасибо. Извините за мой плохой Энгли sh.

Ответы [ 3 ]

1 голос
/ 06 февраля 2020

Эта ошибка чаще всего возникает при попытке Горячая перезагрузка или Горячий перезапуск после добавления нового пакета в pubspec.yaml.

Просто остановите запущенный проект (приложение), а затем заново запустите его. Так что добавленный пакет (который содержит реализации) также отправляется на устройство

0 голосов
/ 07 февраля 2020

эта проблема решается путем ручного редактирования и добавления строки в android GeneratedPluginRegistrant, например:

import io.flutter.plugins.connectivity.ConnectivityPlugin;

ConnectivityPlugin.registerWith(registry.registrarFor("io.flutter.plugins.connectivity.ConnectivityPlugin"));
0 голосов
/ 06 февраля 2020

Следование не имеет отношения к вышеупомянутому квесту, но конечный результат тот же. У меня были сложности с подключаемым модулем и IOS конфигурацией. Поэтому я использую следующий метод, чтобы проверить, подключено ли мое приложение к inte rnet:

static Future<bool> checkInternetConnectivity() async {
    bool isConnected;
    try {
      final result = await InternetAddress.lookup('google.com');
      if (result.isNotEmpty && result[0].rawAddress.isNotEmpty) {
        isConnected = true;
      }
    } on SocketException catch (_) {
      isConnected = false;
    }
    return isConnected;
  }
AppUtil.checkInternetConnectivity().then((isOnline) async {
      if (isOnline) {...} else {...}
})

Я никогда не видел, чтобы веб-сайт Google отключался. Если я хочу прослушать подключение inte rnet, я использую таймер.

Если вы хотите проверить подключение к мобильным данным или подключение к Wi-Fi, извините! вам все равно придется go при реализации подключения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...