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.

See: flutter.dev/to/platform-channels/

Implementers
Available Extensions

Constructors

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

Properties

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

Methods

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.
inherited
setMethodCallHandler(Future handler(MethodCall call)?) → void
Sets a callback for receiving method calls on this channel.
toString() String
A string representation of this object.
inherited

Operators

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