MethodChannel class

A named channel for communicating with platform plugins using asynchronous method calls.

Method calls are encoded into binary before being sent, and binary results received are decoded into Dart values. The MethodCodec used must be compatible with the one used by the platform plugin. This can be achieved by creating a method channel counterpart of this channel on the platform side. The Dart type of arguments and results is dynamic, but only values supported by the specified MethodCodec can be used. The use of unsupported values should be considered programming errors, and will result in exceptions being thrown. The null value is supported for all codecs.

The logical identity of the channel is given by its name. Identically named channels will interfere with each other's communication.

All MethodChannels provided by the Flutter framework guarantee FIFO ordering. Applications can assume method calls sent via a built-in MethodChannel are received by the platform plugins in the same order as they're sent.


Available Extensions


MethodChannel(String name, [MethodCodec codec = const StandardMethodCodec(), BinaryMessenger? binaryMessenger])
Creates a MethodChannel with the specified name.


binaryMessenger BinaryMessenger
The messenger which sends the bytes for this channel.
no setter
codec MethodCodec
The message codec used by this channel, not null.
hashCode int
The hash code for this object.
no setterinherited
name String
The logical channel on which communication happens, not null.
runtimeType Type
A representation of the runtime type of the object.
no setterinherited


invokeListMethod<T>(String method, [dynamic arguments]) Future<List<T>?>
An implementation of invokeMethod that can return typed lists.
invokeMapMethod<K, V>(String method, [dynamic arguments]) Future<Map<K, V>?>
An implementation of invokeMethod that can return typed maps.
invokeMethod<T>(String method, [dynamic arguments]) Future<T?>
Invokes a method on this channel with the specified arguments.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
setMethodCallHandler(Future handler(MethodCall call)?) → void
Sets a callback for receiving method calls on this channel.
toString() String
A string representation of this object.


operator ==(Object other) bool
The equality operator.