Giter Site home page Giter Site logo

mintware-de / flutter_p2p Goto Github PK

View Code? Open in Web Editor NEW
78.0 10.0 42.0 121 KB

A Wi-Fi Direct Plugin for Flutter

License: MIT License

Kotlin 29.49% Ruby 2.98% Swift 23.18% Objective-C 0.35% Dart 43.87% Shell 0.13%
flutter flutter-plugin wifi p2p wifi-direct dart

flutter_p2p's Introduction

GitHub license Pub

flutter_p2p

A Wi-Fi Direct Plugin for Flutter.

This plugin is in alpha and only supports android at the moment.

Getting Started

Required permissions

Put this into your AndroidManifest.xml

<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>

Request permission

In order to scan for devices and connect to devices you need to ask for the location Permission

Future<bool> _checkPermission() async {
  if (!await FlutterP2p.isLocationPermissionGranted()) {
    await FlutterP2p.requestLocationPermission();
    return false;
  }
  return true;
}

Register / unregister from WiFi events

To receive notifications for connection changes or device changes (peers discovered etc.) you have to subscribe to the wifiEvents and register the plugin to the native events.

class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
  @override
  void initState() {
    super.initState();
    _register();
    WidgetsBinding.instance.addObserver(this);
  }

  @override
  void dispose() {
    WidgetsBinding.instance.removeObserver(this);
    super.dispose();
  }

  @override
  void didChangeAppLifecycleState(AppLifecycleState state) {
    // Stop handling events when the app doesn't run to prevent battery draining

    if (state == AppLifecycleState.resumed) {
      _register();
    } else if (state == AppLifecycleState.paused) {
      _unregister();
    }
  }

  List<StreamSubscription> _subscriptions = [];

  void _register() async {
    if (!await _checkPermission()) {
      return;
    }
    _subscriptions.add(FlutterP2p.wifiEvents.stateChange.listen((change) {
      // Handle wifi state change
    }));

    _subscriptions.add(FlutterP2p.wifiEvents.connectionChange.listen((change) {
      // Handle changes of the connection
    }));

    _subscriptions.add(FlutterP2p.wifiEvents.thisDeviceChange.listen((change) {
      // Handle changes of this device
    }));

    _subscriptions.add(FlutterP2p.wifiEvents.peersChange.listen((change) {
      // Handle discovered peers
    }));

    _subscriptions.add(FlutterP2p.wifiEvents.discoveryChange.listen((change) {
      // Handle discovery state changes
    }));

    FlutterP2p.register();  // Register to the native events which are send to the streams above
  }

  void _unregister() {
    _subscriptions.forEach((subscription) => subscription.cancel()); // Cancel subscriptions
    FlutterP2p.unregister(); // Unregister from native events
  }
}

Discover devices

After you subscribed to the events you only need to call the FlutterP2p.discoverDevices() method.

List<WifiP2pDevice> _peers = [];

void _register() async {

  /// ...

  _subscriptions.add(FlutterP2p.wifiEvents.peersChange.listen((change) {
    setState(() {
      _peers = change.devices;
    });
  }));

  /// ...
}

void _discover() {
  FlutterP2p.discoverDevices();
}

Connect to a device

Call FlutterP2p.connect(device); and listen to the FlutterP2p.wifiEvents.connectionChange

 bool _isConnected = false;
 bool _isHost = false;
 String _deviceAddress = "";

 void _register() async {
    // ...

    _subscriptions.add(FlutterP2p.wifiEvents.connectionChange.listen((change) {
      setState(() {
        _isConnected = change.networkInfo.isConnected;
        _isHost = change.wifiP2pInfo.isGroupOwner;
        _deviceAddress = change.wifiP2pInfo.groupOwnerAddress;
      });
    }));

    // ...
  }

Disconnect from current P2P group

Call FlutterP2p.removeGroup()

 void _disconnect() async {
   FlutterP2p.removeGroup();
 }

Transferring data between devices

After you are connected to a device you can transfer data async in both directions (client -> host, host -> client).

On the host:

  // Open a port and create a socket

  P2pSocket _socket;
  void _openPortAndAccept(int port) async {
    var socket = await FlutterP2p.openHostPort(port);
    setState(() {
      _socket = socket;
    });

    var buffer = "";
    socket.inputStream.listen((data) {
      var msg = String.fromCharCodes(data.data);
      buffer += msg;

      if (data.dataAvailable == 0) {
        _showSnackBar("Data Received: $buffer");
        buffer = "";
      }
    });

    // Write data to the client using the _socket.write(UInt8List) or `_socket.writeString("Hello")` method


    print("_openPort done");

    // accept a connection on the created socket
    await FlutterP2p.acceptPort(port);
    print("_accept done");
  }

On the client:

  // Connect to the port and create a socket

  P2pSocket _socket;
  _connectToPort(int port) async {
    var socket = await FlutterP2p.connectToHost(
      _deviceAddress, // see above `Connect to a device`
      port,
      timeout: 100000, // timeout in milliseconds (default 500)
    );

    setState(() {
      _socket = socket;
    });

    var buffer = "";
    socket.inputStream.listen((data) {
      var msg = String.fromCharCodes(data.data);
      buffer += msg;

      if (data.dataAvailable == 0) {
        _showSnackBar("Received from host: $buffer");
        buffer = "";
      }
    });

    // Write data to the host using the _socket.write(UInt8List) or `_socket.writeString("Hello")` method

    print("_connectToPort done");
  }

flutter_p2p's People

Contributors

abdulhakimz avatar devtronic avatar qwales1 avatar steffnite avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

flutter_p2p's Issues

FlutterP2p.discoverDevices() not working

I use the example app and when I tapped the Discover Devices button, it threw an exception.

exception:

V/ContentValues(30506): Method: isLocationPermissionGranted
V/ContentValues(30506): Method: register
W/ter_p2p_exampl(30506): Accessing hidden field Ljava/nio/Buffer;->address:J (light greylist, reflection)
I/flutter (30506): stateChange: false
I/flutter (30506): connectionChange: false, Connected: false
I/flutter (30506): deviceChange: Android_14f9 / 1a:f0:e4:dd:26:ad / 10-0050F204-5 /  -GO
V/ContentValues(30506): Method: discover
E/flutter (30506): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: PlatformException(2, null, null)
[38;5;244mE/flutter (30506): #0      StandardMethodCodec.decodeEnvelope[39;49m
[38;5;244mE/flutter (30506): #1      MethodChannel._invokeMethod[39;49m
E/flutter (30506): <asynchronous suspension>
[38;5;244mE/flutter (30506): #2      MethodChannel.invokeMethod[39;49m
[38;5;248mE/flutter (30506): #3      FlutterP2p.discoverDevices[39;49m
[38;5;248mE/flutter (30506): #4      _MyAppState.build.<anonymous closure>[39;49m
[38;5;244mE/flutter (30506): #5      _InkResponseState._handleTap[39;49m
[38;5;244mE/flutter (30506): #6      _InkResponseState.build.<anonymous closure>[39;49m
[38;5;244mE/flutter (30506): #7      GestureRecognizer.invokeCallback[39;49m
[38;5;244mE/flutter (30506): #8      TapGestureRecognizer.handleTapUp[39;49m
[38;5;244mE/flutter (30506): #9      BaseTapGestureRecognizer._checkUp[39;49m
[38;5;244mE/flutter (30506): #10     BaseTapGestureRecognizer.handlePrimaryPointer[39;49m
[38;5;244mE/flutter (30506): #11     PrimaryPointerGestureRecognizer.handleEvent[39;49m
[38;5;244mE/flutter (30506): #12     PointerRouter._dispatch[39;49m
[38;5;244mE/flutter (30506): #13     PointerRouter._dispatchEventToRoutes.<anonymous closure>[39;49m
[38;5;244mE/flutter (30506): #14     _LinkedHashMapMixin.forEach  (dart:collection-patch/compact_hash.dart:379:8)[39;49m
[38;5;244mE/flutter (30506): #15     PointerRouter._dispatchEventToRoutes[39;49m
[38;5;244mE/flutter (30506): #16     PointerRouter.route[39;49m
[38;5;244mE/flutter (30506): #17     GestureBinding.handleEvent[39;49m
[38;5;244mE/flutter (30506): #18     GestureBinding.dispatchEvent[39;49m
[38;5;244mE/flutter (30506): #19     GestureBinding._handlePointerEvent[39;49m
[38;5;244mE/flutter (30506): #20     GestureBinding._flushPointerEventQueue[39;49m
[38;5;244mE/flutter (30506): #21     GestureBinding._handlePointerDataPacket[39;49m
[38;5;244mE/flutter (30506): #22     _rootRunUnary  (dart:async/zone.dart:1138:13)[39;49m
[38;5;244mE/flutter (30506): #23     _CustomZone.runUnary  (dart:async/zone.dart:1031:19)[39;49m
[38;5;244mE/flutter (30506): #24     _CustomZone.runUnaryGuarded  (dart:async/zone.dart:933:7)[39;49m
[38;5;244mE/flutter (30506): #25     _invoke1  (dart:ui/hooks.dart:273:10)[39;49m
[38;5;244mE/flutter (30506): #26     _dispatchPointerDataPacket  (dart:ui/hooks.dart:182:5)[39;49m
E/flutter (30506):
V/ContentValues(30506): Method: unregister

Why does it happen ?

Gradle Support for 1.3.10 and above

I'm getting this error while building the app.
FAILURE: Build failed with an exception.

  • What went wrong:
    The Android Gradle plugin supports only Kotlin Gradle plugin version 1.3.10 and higher.
    The following dependencies do not satisfy the required version:
    project ':flutter_p2p' -> org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.71

iOS support

This seems like a pretty cool project!

I am not very familiar with WiFi Direct, but my understanding was that Apple does not support it (as in: it will not be possible to communicate between iOS and Android using this plugin). Is that correct?

Failed to handle method call

Failed to handle method call
E/MethodChannel#de.mintware.flutter_p2p/flutter_p2p(13511): java.lang.IllegalArgumentException: Unsupported value: java.lang.reflect.InvocationTargetException
E/MethodChannel#de.mintware.flutter_p2p/flutter_p2p(13511): at io.flutter.plugin.common.StandardMessageCodec.writeValue(StandardMessageCodec.java:278)
E/MethodChannel#de.mintware.flutter_p2p/flutter_p2p(13511): at io.flutter.plugin.common.StandardMethodCodec.encodeErrorEnvelope(StandardMethodCodec.java:69)
E/MethodChannel#de.mintware.flutter_p2p/flutter_p2p(13511): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler$1.error(MethodChannel.java:236)
E/MethodChannel#de.mintware.flutter_p2p/flutter_p2p(13511): at de.mintware.flutter_p2p.FlutterP2pPlugin.onMethodCall(FlutterP2pPlugin.kt:352)
E/MethodChannel#de.mintware.flutter_p2p/flutter_p2p(13511): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:226)
E/MethodChannel#de.mintware.flutter_p2p/flutter_p2p(13511): at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:85)
E/MethodChannel#de.mintware.flutter_p2p/flutter_p2p(13511): at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:631)
E/MethodChannel#de.mintware.flutter_p2p/flutter_p2p(13511): at android.os.MessageQueue.nativePollOnce(Native Method)
E/MethodChannel#de.mintware.flutter_p2p/flutter_p2p(13511): at android.os.MessageQueue.next(MessageQueue.java:325)
E/MethodChannel#de.mintware.flutter_p2p/flutter_p2p(13511): at android.os.Looper.loop(Looper.java:142)
E/MethodChannel#de.mintware.flutter_p2p/flutter_p2p(13511): at android.app.ActivityThread.main(ActivityThread.java:6528)
E/MethodChannel#de.mintware.flutter_p2p/flutter_p2p(13511): at java.lang.reflect.Method.invoke(Native Method)
E/MethodChannel#de.mintware.flutter_p2p/flutter_p2p(13511): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
E/MethodChannel#de.mintware.flutter_p2p/flutter_p2p(13511): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

there's an issue at startup the program

I have a problem to run flutter_p2p test app as below.
E/flutter ( 2735): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: MissingPluginException(No implementation found for method isLocationPermissionGranted on channel de.mintware.flutter_p2p/flutter_p2p)

How can I solve it?


  1. When compile & run the this app, I can see this log

Launching lib/main.dart on Pixel 2 in debug mode...
Running Gradle task 'assembleDebug'...
✓ Built build/app/outputs/apk/debug/app-debug.apk.
E/flutter ( 2735): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: MissingPluginException(No implementation found for method isLocationPermissionGranted on channel de.mintware.flutter_p2p/flutter_p2p)
E/flutter ( 2735): #0 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:154:7)
E/flutter ( 2735):
E/flutter ( 2735): #1 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:329:12)
E/flutter ( 2735): #2 FlutterP2p.isLocationPermissionGranted (package:flutter_p2p/plugin.dart:24:27)
E/flutter ( 2735): #3 _MyAppState._checkPermission (package:flutter_p2p_example/main.dart:149:27)
E/flutter ( 2735): #4 _MyAppState._register (package:flutter_p2p_example/main.dart:61:16)
E/flutter ( 2735): #5 _MyAppState.initState (package:flutter_p2p_example/main.dart:41:5)
E/flutter ( 2735): #6 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4640:58)
E/flutter ( 2735): #7 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4476:5)
E/flutter ( 2735): #8 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3446:14)
E/flutter ( 2735): #9 Element.updateChild (package:flutter/src/widgets/framework.dart:3214:18)
E/flutter ( 2735): #10 RenderObjectToWidgetElement._rebuild (package:flutter/src/widgets/binding.dart:1148:16)
E/flutter ( 2735): #11 RenderObjectToWidgetElement.mount (package:flutter/src/widgets/binding.dart:1119:5)
E/flutter ( 2735): #12 RenderObjectToWidgetAdapter.attachToRenderTree. (package:flutter/src/widgets/binding.dart:1061:17)
E/flutter ( 2735): #13 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2607:19)
E/flutter ( 2735): #14 RenderObjectToWidgetAdapter.attachToRenderTree (package:flutter/src/widgets/binding.dart:1060:13)
E/flutter ( 2735): #15 WidgetsBinding.attachRootWidget (package:flutter/src/widgets/binding.dart:941:7)
E/flutter ( 2735): #16 WidgetsBinding.scheduleAttachRootWidget. (package:flutter/src/widgets/binding.dart:922:7)
E/flutter ( 2735): #17 _rootRun (dart:async/zone.dart:1180:38)
E/flutter ( 2735): #18 _CustomZone.run (dart:async/zone.dart:1077:19)
E/flutter ( 2735): #19 _CustomZone.runGuarded (dart:async/zone.dart:979:7)
E/flutter ( 2735): #20 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1019:23)
E/flutter ( 2735): #21 _rootRun (dart:async/zone.dart:1184:13)
E/flutter ( 2735): #22 _CustomZone.run (dart:async/zone.dart:1077:19)
E/flutter ( 2735): #23 _CustomZone.bindCallback. (dart:async/zone.dart:1003:23)
E/flutter ( 2735): #24 Timer._createTimer. (dart:async-patch/timer_patch.dart:23:15)
E/flutter ( 2735): #25 _Timer._runTimers (dart:isolate-patch/timer_impl.dart:398:19)
E/flutter ( 2735): #26 _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:429:5)
E/flutter ( 2735): #27 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:168:12)
E/flutter ( 2735):
Debug service listening on ws://127.0.0.1:53833/Cv1vB8KrBmg=/ws
Syncing files to device Pixel 2...


  1. When I tab the 'Discover Devices', I can see below log

E/flutter ( 2735): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: MissingPluginException(No implementation found for method discover on channel de.mintware.flutter_p2p/flutter_p2p)
E/flutter ( 2735): #0 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:154:7)
E/flutter ( 2735):
E/flutter ( 2735): #1 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:329:12)
E/flutter ( 2735): #2 FlutterP2p.discoverDevices (package:flutter_p2p/plugin.dart:48:27)
E/flutter ( 2735): #3 _MyAppState.build. (package:flutter_p2p_example/main.dart:192:53)
E/flutter ( 2735): #4 _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:779:19)
E/flutter ( 2735): #5 _InkResponseState.build. (package:flutter/src/material/ink_well.dart:862:36)
E/flutter ( 2735): #6 GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:182:24)
E/flutter ( 2735): #7 TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:504:11)
E/flutter ( 2735): #8 BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:282:5)
E/flutter ( 2735): #9 BaseTapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:217:7)
E/flutter ( 2735): #10 PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:475:9)
E/flutter ( 2735): #11 PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:76:12)
E/flutter ( 2735): #12 PointerRouter._dispatchEventToRoutes. (package:flutter/src/gestures/pointer_router.dart:122:9)
E/flutter ( 2735): #13 _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:379:8)
E/flutter ( 2735): #14 PointerRouter._dispatchEventToRoutes (package:flutter/src/gestures/pointer_router.dart:120:18)
E/flutter ( 2735): #15 PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:106:7)
E/flutter ( 2735): #16 GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:218:19)
E/flutter ( 2735): #17 GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:198:22)
E/flutter ( 2735): #18 GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:156:7)
E/flutter ( 2735): #19 GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:102:7)
E/flutter ( 2735): #20 GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:86:7)
E/flutter ( 2735): #21 _rootRunUnary (dart:async/zone.dart:1196:13)
E/flutter ( 2735): #22 _CustomZone.runUnary (dart:async/zone.dart:1085:19)
E/flutter ( 2735): #23 _CustomZone.runUnaryGuarded (dart:async/zone.dart:987:7)
E/flutter ( 2735): #24 _invoke1 (dart:ui/hooks.dart:275:10)
E/flutter ( 2735): #25 _dispatchPointerDataPacket (dart:ui/hooks.dart:184:5)
E/flutter ( 2735):

flutter verion is
➜ example dart --version
Dart VM version: 2.8.2 (stable) (Mon May 11 15:06:42 2020 +0200) on "macos_x64"
➜ example

Missing Plugin Exception Can't Run The WifiEvents

[ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: MissingPluginException(No implementation found for method unregister on channel de.mintware.flutter_p2p/flutter_p2p)
E/flutter (26927): #0 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:154)
E/flutter (26927):
E/flutter (26927): #1 FlutterP2p.unregister (package:flutter_p2p/plugin.dart:40)
E/flutter (26927):
E/flutter (26927):
Syncing files to device SM M305F...
E/flutter (28646): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: MissingPluginException(No implementation found for method isLocationPermissionGranted on channel de.mintware.flutter_p2p/flutter_p2p)
E/flutter (28646): #0 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:154:7)
E/flutter (28646):
E/flutter (28646): #1 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:329:12)
E/flutter (28646): #2 FlutterP2p.isLocationPermissionGranted (package:flutter_p2p/plugin.dart:24:27)
E/flutter (28646): #3 _MyAppState._checkPermission (package:flutter_p2p_example/main.dart:149:27)
E/flutter (28646): #4 _MyAppState._register (package:flutter_p2p_example/main.dart:61:16)
E/flutter (28646): #5 _MyAppState.initState (package:flutter_p2p_example/main.dart:41:5)
E/flutter (28646): #6 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4640:58)
E/flutter (28646): #7 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4476:5)
E/flutter (28646): #8 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3446:14)
E/flutter (28646): #9 Element.updateChild (package:flutter/src/widgets/framework.dart:3214:18)
E/flutter (28646): #10 RenderObjectToWidgetElement._rebuild (package:flutter/src/widgets/binding.dart:1148:16)
E/flutter (28646): #11 RenderObjectToWidgetElement.mount (package:flutter/src/widgets/binding.dart:1119:5)
E/flutter (28646): #12 RenderObjectToWidgetAdapter.attachToRenderTree. (package:flutter/src/widgets/binding.dart:1061:17)
E/flutter (28646): #13 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2607:19)
E/flutter (28646): #14 RenderObjectToWidgetAdapter.attachToRenderTree (package:flutter/src/widgets/binding.dart:1060:13)
E/flutter (28646): #15 WidgetsBinding.attachRootWidget (package:flutter/src/widgets/binding.dart:941:7)
E/flutter (28646): #16 WidgetsBinding.scheduleAttachRootWidget. (package:flutter/src/widgets/binding.dart:922:7)
E/flutter (28646): #17 _rootRun (dart:async/zone.dart:1180:38)
E/flutter (28646): #18 _CustomZone.run (dart:async/zone.dart:1077:19)
E/flutter (28646): #19 _CustomZone.runGuarded (dart:async/zone.dart:979:7)
E/flutter (28646): #20 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1019:23)
E/flutter (28646): #21 _rootRun (dart:async/zone.dart:1184:13)
E/flutter (28646): #22 _CustomZone.run (dart:async/zone.dart:1077:19)
E/flutter (28646): #23 _CustomZone.bindCallback. (dart:async/zone.dart:1003:23)
E/flutter (28646): #24 Timer._createTimer. (dart:async-patch/timer_patch.dart:23:15)
E/flutter (28646): #25 _Timer._runTimers (dart:isolate-patch/timer_impl.dart:398:19)
E/flutter (28646): #26 _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:429:5)
E/flutter (28646): #27 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:168:12)
E/flutter (28646):
D/InputMethodManager(28646): prepareNavigationBarInfo() DecorView@62325b3[MainActivity]
D/InputMethodManager(28646): getNavigationBarColor() -855310
V/InputMethodManager(28646): Starting input: tba=de.mintware.flutter_p2p_example ic=null mNaviBarColor -855310 mIsGetNaviBarColorSuccess true , NavVisible : true , NavTrans : false
D/InputMethodManager(28646): startInputInner - Id : 0
I/InputMethodManager(28646): startInputInner - mService.startInputOrWindowGainedFocus
D/InputTransport(28646): Input channel destroyed: 'ClientS', fd=86
D/ViewRootImpl@af29ca5MainActivity: stopped(true) old=false
D/SurfaceView(28646): windowStopped(true) false io.flutter.view.FlutterView{e155e21 VFE...... ........ 0,0-1080,2340} of ViewRootImpl@af29ca5[MainActivity]
D/SurfaceView(28646): surfaceDestroyed callback.size 1 #1 io.flutter.view.FlutterView{e155e21 VFE...... ........ 0,0-1080,2340}
W/libEGL (28646): EGLNativeWindowType 0x7739781010 disconnect failed
D/SurfaceView(28646): remove() io.flutter.view.FlutterView{e155e21 VFE...... ........ 0,0-1080,2340} Surface(name=SurfaceView - de.mintware.flutter_p2p_example/de.mintware.flutter_p2p_example.MainActivity@e155e21@0)/@0x22e641e
E/flutter (28646): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: MissingPluginException(No implementation found for method unregister on channel de.mintware.flutter_p2p/flutter_p2p)
E/flutter (28646): #0 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:154:7)
E/flutter (28646):
E/flutter (28646): #1 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:329:12)
E/flutter (28646): #2 FlutterP2p.unregister (package:flutter_p2p/plugin.dart:40:27)
E/flutter (28646): #3 _MyAppState._unregister (package:flutter_p2p_example/main.dart:102:16)
E/flutter (28646): #4 _MyAppState.didChangeAppLifecycleState (package:flutter_p2p_example/main.dart:56:7)
E/flutter (28646): #5 WidgetsBinding.handleAppLifecycleStateChanged (package:flutter/src/widgets/binding.dart:655:16)
E/flutter (28646): #6 SchedulerBinding._handleLifecycleMessage (package:flutter/src/scheduler/binding.dart:349:5)
E/flutter (28646): #7 BasicMessageChannel.setMessageHandler. (package:flutter/src/services/platform_channel.dart:74:49)
E/flutter (28646): #8 _DefaultBinaryMessenger.handlePlatformMessage (package:flutter/src/services/binding.dart:199:33)
E/flutter (28646): #9 _invoke3. (dart:ui/hooks.dart:290:15)
E/flutter (28646): #10 _rootRun (dart:async/zone.dart:1184:13)
E/flutter (28646): #11 _CustomZone.run (dart:async/zone.dart:1077:19)
E/flutter (28646): #12 _CustomZone.runGuarded (dart:async/zone.dart:979:7)
E/flutter (28646): #13 _invoke3 (dart:ui/hooks.dart:289:10)
E/flutter (28646): #14 _dispatchPlatformMessage (dart:ui/hooks.dart:164:5)
E/flutter (28646):
D/ViewRootImpl@af29ca5MainActivity: MSG_WINDOW_FOCUS_CHANGED 0 1
D/InputMethodManager(28646): prepareNavigationBarInfo() DecorView@62325b3[MainActivity]
D/InputMethodManager(28646): getNavigationBarColor() -855310
E/ViewRootImpl@af29ca5MainActivity: Surface is not valid.
E/ViewRootImpl@af29ca5MainActivity: Surface is not valid.
W/IInputConnectionWrapper(28646): getExtractedText on inactive InputConnection
E/ViewRootImpl@af29ca5MainActivity: Surface is not valid.
D/SurfaceView(28646): onWindowVisibilityChanged(8) false io.flutter.view.FlutterView{e155e21 VFE...... ........ 0,0-1080,2340} of ViewRootImpl@af29ca5[MainActivity]
W/libEGL (28646): EGLNativeWindowType 0x779821d850 disconnect failed
D/ViewRootImpl@af29ca5MainActivity: Relayout returned: old=(0,0,1080,2340) new=(0,0,1080,2340) req=(1080,2340)8 dur=21 res=0x5 s={false 0} ch=false
D/InputTransport(28646): Input channel destroyed: 'ClientS', fd=87
D/SurfaceView(28646): onWindowVisibilityChanged(4) false io.flutter.view.FlutterView{e155e21 VFE...... ........ 0,0-1080,2340} of ViewRootImpl@af29ca5[MainActivity]
D/ViewRootImpl@af29ca5MainActivity: Relayout returned: old=(0,0,1080,2340) new=(0,0,1080,2340) req=(1080,2340)4 dur=14 res=0x1 s={false 0} ch=false
D/ViewRootImpl@af29ca5MainActivity: stopped(false) old=true
D/SurfaceView(28646): windowStopped(false) false io.flutter.view.FlutterView{e155e21 VFE...... ........ 0,0-1080,2340} of ViewRootImpl@af29ca5[MainActivity]
D/SurfaceView(28646): onWindowVisibilityChanged(0) true io.flutter.view.FlutterView{e155e21 VFE...... ........ 0,0-1080,2340} of ViewRootImpl@af29ca5[MainActivity]
D/ViewRootImpl@af29ca5MainActivity: Relayout returned: old=(0,0,1080,2340) new=(0,0,1080,2340) req=(1080,2340)0 dur=23 res=0x7 s={true 512065208320} ch=true
D/OpenGLRenderer(28646): createReliableSurface : 0x779821d840, 0x7739770000
D/mali_winsys(28646): EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000
D/SurfaceView(28646): surfaceCreated 1 #8 io.flutter.view.FlutterView{e155e21 VFE...... ........ 0,0-1080,2340}
D/mali_winsys(28646): EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000
D/SurfaceView(28646): surfaceChanged (1080,2340) 1 #8 io.flutter.view.FlutterView{e155e21 VFE...... ........ 0,0-1080,2340}
D/ViewRootImpl@af29ca5MainActivity: MSG_WINDOW_FOCUS_CHANGED 1 1
D/InputMethodManager(28646): prepareNavigationBarInfo() DecorView@62325b3[MainActivity]
D/InputMethodManager(28646): getNavigationBarColor() -855310
D/InputMethodManager(28646): prepareNavigationBarInfo() DecorView@62325b3[MainActivity]
D/InputMethodManager(28646): getNavigationBarColor() -855310
V/InputMethodManager(28646): Starting input: tba=de.mintware.flutter_p2p_example ic=null mNaviBarColor -855310 mIsGetNaviBarColorSuccess true , NavVisible : true , NavTrans : false
D/InputMethodManager(28646): startInputInner - Id : 0
I/InputMethodManager(28646): startInputInner - mService.startInputOrWindowGainedFocus
D/ViewRootImpl@af29ca5MainActivity: stopped(false) old=false
E/flutter (28646): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: MissingPluginException(No implementation found for method isLocationPermissionGranted on channel de.mintware.flutter_p2p/flutter_p2p)
E/flutter (28646): #0 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:154:7)
E/flutter (28646):
E/flutter (28646): #1 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:329:12)
E/flutter (28646): #2 FlutterP2p.isLocationPermissionGranted (package:flutter_p2p/plugin.dart:24:27)
E/flutter (28646): #3 _MyAppState._checkPermission (package:flutter_p2p_example/main.dart:149:27)
E/flutter (28646): #4 _MyAppState._register (package:flutter_p2p_example/main.dart:61:16)
E/flutter (28646): #5 _MyAppState.didChangeAppLifecycleState (package:flutter_p2p_example/main.dart:54:7)
E/flutter (28646): #6 WidgetsBinding.handleAppLifecycleStateChanged (package:flutter/src/widgets/binding.dart:655:16)
E/flutter (28646): #7 SchedulerBinding._handleLifecycleMessage (package:flutter/src/scheduler/binding.dart:349:5)
E/flutter (28646): #8 BasicMessageChannel.setMessageHandler. (package:flutter/src/services/platform_channel.dart:74:49)
E/flutter (28646): #9 _DefaultBinaryMessenger.handlePlatformMessage (package:flutter/src/services/binding.dart:199:33)
E/flutter (28646): #10 _invoke3. (dart:ui/hooks.dart:290:15)
E/flutter (28646): #11 _rootRun (dart:async/zone.dart:1184:13)
E/flutter (28646): #12 _CustomZone.run (dart:async/zone.dart:1077:19)
E/flutter (28646): #13 _CustomZone.runGuarded (dart:async/zone.dart:979:7)
E/flutter (28646): #14 _invoke3 (dart:ui/hooks.dart:289:10)
E/flutter (28646): #15 _dispatchPlatformMessage (dart:ui/hooks.dart:164:5)
E/flutter (28646):
D/ViewRootImpl@af29ca5MainActivity: MSG_WINDOW_FOCUS_CHANGED 0 1
D/InputMethodManager(28646): prepareNavigationBarInfo() DecorView@62325b3[MainActivity]
D/InputMethodManager(28646): getNavigationBarColor() -855310
D/InputTransport(28646): Input channel destroyed: 'ClientS', fd=89
D/SurfaceView(28646): onWindowVisibilityChanged(8) false io.flutter.view.FlutterView{e155e21 VFE...... ........ 0,0-1080,2340} of ViewRootImpl@af29ca5[MainActivity]
D/SurfaceView(28646): surfaceDestroyed callback.size 1 #2 io.flutter.view.FlutterView{e155e21 VFE...... ........ 0,0-1080,2340}
W/libEGL (28646): EGLNativeWindowType 0x7739856010 disconnect failed
D/SurfaceView(28646): remove() io.flutter.view.FlutterView{e155e21 VFE...... ........ 0,0-1080,2340} Surface(name=SurfaceView - de.mintware.flutter_p2p_example/de.mintware.flutter_p2p_example.MainActivity@e155e21@1)/@0xd75f4ff
W/libEGL (28646): EGLNativeWindowType 0x779821d850 disconnect failed
D/ViewRootImpl@af29ca5MainActivity: Relayout returned: old=(0,0,1080,2340) new=(0,0,1080,2340) req=(1080,2340)8 dur=31 res=0x5 s={false 0} ch=true
D/ViewRootImpl@af29ca5MainActivity: stopped(true) old=false
D/SurfaceView(28646): windowStopped(true) false io.flutter.view.FlutterView{e155e21 VFE...... ........ 0,0-1080,2340} of ViewRootImpl@af29ca5[MainActivity]
E/flutter (28646): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: MissingPluginException(No implementation found for method unregister on channel de.mintware.flutter_p2p/flutter_p2p)
E/flutter (28646): #0 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:154:7)
E/flutter (28646):
E/flutter (28646): #1 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:329:12)
E/flutter (28646): #2 FlutterP2p.unregister (package:flutter_p2p/plugin.dart:40:27)
E/flutter (28646): #3 _MyAppState._unregister (package:flutter_p2p_example/main.dart:102:16)
E/flutter (28646): #4 _MyAppState.didChangeAppLifecycleState (package:flutter_p2p_example/main.dart:56:7)
E/flutter (28646): #5 WidgetsBinding.handleAppLifecycleStateChanged (package:flutter/src/widgets/binding.dart:655:16)
E/flutter (28646): #6 SchedulerBinding._handleLifecycleMessage (package:flutter/src/scheduler/binding.dart:349:5)
E/flutter (28646): #7 BasicMessageChannel.setMessageHandler. (package:flutter/src/services/platform_channel.dart:74:49)
E/flutter (28646): #8 _DefaultBinaryMessenger.handlePlatformMessage (package:flutter/src/services/binding.dart:199:33)
E/flutter (28646): #9 _invoke3. (dart:ui/hooks.dart:290:15)
E/flutter (28646): #10 _rootRun (dart:async/zone.dart:1184:13)
E/flutter (28646): #11 _CustomZone.run (dart:async/zone.dart:1077:19)
E/flutter (28646): #12 _CustomZone.runGuarded (dart:async/zone.dart:979:7)
E/flutter (28646): #13 _invoke3 (dart:ui/hooks.dart:289:10)
E/flutter (28646): #14 _dispatchPlatformMessage (dart:ui/hooks.dart:164:5)
E/flutter (28646):
I/flutter (31535): stateChange: true

Flutter_p2p version error while launching Example code

Hey!! I am getting this error and can't find my way around it. I did go through StackOverflow but the fixes didn't work for me. I have upgraded all versions as per the recommendation as well.

FAILURE: Build failed with an exception.

  • What went wrong:
    The Android Gradle plugin supports only Kotlin Gradle plugin version 1.3.10 and higher.
    The following dependencies do not satisfy the required version:
    project ':flutter_p2p' -> org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.71

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

  • Get more help at https://help.gradle.org

BUILD FAILED in 12s
Exception: Gradle task assembleDebug failed with exit code 1

This is my project's build.gradle code:
buildscript {
ext.buildGradleVersion = '3.2.1'
ext.kotlin_version = '1.3.72'
repositories {
google()
jcenter()
}

dependencies {
    classpath 'com.android.tools.build:gradle:4.0.0'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}

}

allprojects {
repositories {
google()
jcenter()
mavenCentral()
}
}

rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(':app')
}

task clean(type: Delete) {
delete rootProject.buildDir
}

This is app/build.gradle code:
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}

def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}

def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
}

def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

android {
compileSdkVersion 29

sourceSets {
    main.java.srcDirs += 'src/main/kotlin'
}

lintOptions {
    disable 'InvalidPackage'
}

defaultConfig {
    // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
    applicationId "com.smartherd.wifi_direct"
    minSdkVersion 23
    targetSdkVersion 29
    versionCode flutterVersionCode.toInteger()
    versionName flutterVersionName
}

buildTypes {
    release {
        // TODO: Add your own signing config for the release build.
        // Signing with the debug keys for now, so `flutter run --release` works.
        signingConfig signingConfigs.debug
    }
}

}

flutter {
source '../..'
}

dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}

I have added flutter_p2p: ^0.1.1 dependency in my pubspec.yaml file

project ':flutter_p2p' -> org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.71

FAILURE: Build failed with an exception.

  • What went wrong:
    The Android Gradle plugin supports only Kotlin Gradle plugin version 1.3.0 and higher.
    The following dependencies do not satisfy the required version:
    project ':flutter_p2p' -> org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.71

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

I have upgraded flutter to the latest version.Plz help me.

flutter doctor -v
image

Exception: Gradle task assembleDebug failed with exit code -1

Iam getting this error when i run my first flutter app in Android studio using FLutter run command, Please help me

Shown below are the errors when i run "Flutter run -v"
++++++++++++++++++++++++++++++++++++++++++++++++++++++

#0 throwToolExit (package:flutter_tools/src/base/common.dart:14:3)
#1 RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:569:7)

#2 FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:723:18)
#3 _rootRunUnary (dart:async/zone.dart:1192:38)
#4 _CustomZone.runUnary (dart:async/zone.dart:1085:19)
#5 _FutureListener.handleValue (dart:async/future_impl.dart:141:18)
#6 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:682:45)
#7 Future._propagateToListeners (dart:async/future_impl.dart:711:32)
#8 Future._completeWithValue (dart:async/future_impl.dart:526:5)
#9 _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:36:15)
#10 _completeOnAsyncReturn (dart:async-patch/async_patch.dart:298:13)
#11 RunCommand.usageValues (package:flutter_tools/src/commands/run.dart)
#12 _rootRunUnary (dart:async/zone.dart:1192:38)
#13 _CustomZone.runUnary (dart:async/zone.dart:1085:19)
#14 _FutureListener.handleValue (dart:async/future_impl.dart:141:18)
#15 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:682:45)
#16 Future._propagateToListeners (dart:async/future_impl.dart:711:32)
#17 Future._completeWithValue (dart:async/future_impl.dart:526:5)
#18 _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:36:15)
#19 _completeOnAsyncReturn (dart:async-patch/async_patch.dart:298:13)
#20 AndroidDevice.isLocalEmulator (package:flutter_tools/src/android/android_device.dart)
#21 _rootRunUnary (dart:async/zone.dart:1192:38)
#22 _CustomZone.runUnary (dart:async/zone.dart:1085:19)
#23 _FutureListener.handleValue (dart:async/future_impl.dart:141:18)
#24 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:682:45)
#25 Future._propagateToListeners (dart:async/future_impl.dart:711:32)
#26 Future._completeWithValue (dart:async/future_impl.dart:526:5)
#27 Future._asyncComplete. (dart:async/future_impl.dart:556:7)
#28 _rootRun (dart:async/zone.dart:1184:13)
#29 _CustomZone.run (dart:async/zone.dart:1077:19)
#30 _CustomZone.runGuarded (dart:async/zone.dart:979:7)
#31 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1019:23)
#32 _microtaskLoop (dart:async/schedule_microtask.dart:43:21)
#33 _startMicrotaskLoop (dart:async/schedule_microtask.dart:52:5)
#34 _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:118:13)
#35 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:169:5)

error launching the example app

I tried using your code from pub.dev to test the example app.
Just pasted the main. dart code but there seems an error while building the apk .
Here is the error

FAILURE: Build failed with an exception.
[ +3 ms] * What went wrong:
[ +1 ms] The Android Gradle plugin supports only Kotlin Gradle plugin version 1.3.10 and higher.
[ +1 ms] The following dependencies do not satisfy the required version:
[ +1 ms] project ':flutter_p2p' -> org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.71
[ +2 ms] * Try:
[ +2 ms] Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
[ +1 ms] * Get more help at https://help.gradle.org
[ +1 ms] BUILD FAILED in 2s
[ +347 ms] Running Gradle task 'assembleDebug'... (completed in 3.5s)
[+4011 ms] Exception: Gradle task assembleDebug failed with exit code 1
[ +1 ms] "flutter run" took 10,713ms.

0 throwToolExit (package:flutter_tools/src/base/common.dart:14:3)
1 RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:569:7)

2 FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:723:18)
3 _rootRunUnary (dart:async/zone.dart:1192:38)
4 _CustomZone.runUnary (dart:async/zone.dart:1085:19)
5 _FutureListener.handleValue (dart:async/future_impl.dart:141:18)
6 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:682:45)
7 Future._propagateToListeners (dart:async/future_impl.dart:711:32)
8 Future._completeWithValue (dart:async/future_impl.dart:526:5)
9 _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:36:15)
10 _completeOnAsyncReturn (dart:async-patch/async_patch.dart:298:13)
11 RunCommand.usageValues (package:flutter_tools/src/commands/run.dart)
12 _rootRunUnary (dart:async/zone.dart:1192:38)
13 _CustomZone.runUnary (dart:async/zone.dart:1085:19)
14 _FutureListener.handleValue (dart:async/future_impl.dart:141:18)
15 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:682:45)
16 Future._propagateToListeners (dart:async/future_impl.dart:711:32)
17 Future._completeWithValue (dart:async/future_impl.dart:526:5)
18 _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:36:15)
19 _completeOnAsyncReturn (dart:async-patch/async_patch.dart:298:13)
20 AndroidDevice.isLocalEmulator (package:flutter_tools/src/android/android_device.dart)
21 _rootRunUnary (dart:async/zone.dart:1192:38)
22 _CustomZone.runUnary (dart:async/zone.dart:1085:19)
23 _FutureListener.handleValue (dart:async/future_impl.dart:141:18)
24 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:682:45)
25 Future._propagateToListeners (dart:async/future_impl.dart:711:32)
6 Future._completeWithValue (dart:async/future_impl.dart:526:5)
27 Future._asyncComplete. (dart:async/future_impl.dart:556:7)
28 _rootRun (dart:async/zone.dart:1184:13)
9 _CustomZone.run (dart:async/zone.dart:1077:19)
30 _CustomZone.runGuarded (dart:async/zone.dart:979:7)
31 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1019:23)
32 _microtaskLoop (dart:async/schedule_microtask.dart:43:21)
33 _startMicrotaskLoop (dart:async/schedule_microtask.dart:52:5)
34 _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:118:13)
35 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:169:5)

Thank you

Version problem with the plugin

I tried to integrate the plugin for a personal project, but at first I had a version problem. So I tried to update the flutter project and then it does the build. But when I launch it I get no action in return, it detects the wifi and then nothing. Please help me

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.