Interface EventChannel.StreamHandler

  • Enclosing class:
    EventChannel

    public static interface EventChannel.StreamHandler
    Handler of stream setup and teardown requests.

    Implementations must be prepared to accept sequences of alternating calls to onListen(Object, EventChannel.EventSink) and onCancel(Object). Implementations should ideally consume no resources when the last such call is not onListen. In typical situations, this means that the implementation should register itself with platform-specific event sources onListen and deregister again onCancel.

    • Method Detail

      • onListen

        void onListen​(Object arguments,
                      EventChannel.EventSink events)
        Handles a request to set up an event stream.

        Any uncaught exception thrown by this method will be caught by the channel implementation and logged. An error result message will be sent back to Flutter.

        Parameters:
        arguments - stream configuration arguments, possibly null.
        events - an EventChannel.EventSink for emitting events to the Flutter receiver.
      • onCancel

        void onCancel​(Object arguments)
        Handles a request to tear down the most recently created event stream.

        Any uncaught exception thrown by this method will be caught by the channel implementation and logged. An error result message will be sent back to Flutter.

        The channel implementation may call this method with null arguments to separate a pair of two consecutive set up requests. Such request pairs may occur during Flutter hot restart. Any uncaught exception thrown in this situation will be logged without notifying Flutter.

        Parameters:
        arguments - stream configuration arguments, possibly null.