Package io.flutter.embedding.engine.systemchannels

## Interface PlatformChannel.PlatformMessageHandler

- Enclosing class:
    PlatformChannel

      public static interface PlatformChannel.PlatformMessageHandler

  Handler that receives platform messages sent from Flutter to Android through a given `PlatformChannel`.

  To register a `PlatformMessageHandler` with a `PlatformChannel`, see `PlatformChannel.setPlatformMessageHandler(PlatformMessageHandler)`.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `clipboardHasStrings()` | The Flutter application would like to know if the clipboard currently contains a string that can be pasted.
    `CharSequence` | `getClipboardData​(PlatformChannel.ClipboardContentFormat format)` | The Flutter application would like to receive the current data in the clipboard and have it returned in the given `format`.
    `void` | `playSystemSound​(PlatformChannel.SoundType soundType)` | The Flutter application would like to play the given `soundType`.
    `void` | `popSystemNavigator()` | The Flutter application would like to pop the top item off of the Android app's navigation back stack.
    `void` | `restoreSystemUiOverlays()` | The Flutter application would like to restore the visibility of system overlays to the last set of overlays sent via `showSystemOverlays(List)` or `showSystemUiMode(SystemUiMode)`.
    `void` | `setApplicationSwitcherDescription​(PlatformChannel.AppSwitcherDescription description)` | The Flutter application would like to be displayed in Android's app switcher with the visual representation described in the given `description`.
    `void` | `setClipboardData​(String text)` | The Flutter application would like to set the current data in the clipboard to the given `text`.
    `void` | `setPreferredOrientations​(int androidOrientation)` | The Flutter application would like to display in the given `androidOrientation`.
    `void` | `setSystemUiChangeListener()` | The Flutter application would like the Android system to notify the framework when the system ui visibility has changed.
    `void` | `setSystemUiOverlayStyle​(PlatformChannel.SystemChromeStyle systemUiOverlayStyle)` | The Flutter application would like the system chrome to present itself with the given `systemUiOverlayStyle`, i.e., the given status bar and navigation bar colors and brightness.
    `void` | `showSystemOverlays​(List<PlatformChannel.SystemUiOverlay> overlays)` | The Flutter application would like the Android system to display the given `overlays`.
    `void` | `showSystemUiMode​(PlatformChannel.SystemUiMode mode)` | The Flutter application would like the Android system to display the given `mode`.
    `void` | `vibrateHapticFeedback​(PlatformChannel.HapticFeedbackType feedbackType)` | The Flutter application would like to play the given haptic `feedbackType`.

- - ### Method Detail

    - #### playSystemSound

          void playSystemSound​(@NonNull
                               PlatformChannel.SoundType soundType)

      The Flutter application would like to play the given `soundType`.

    - #### vibrateHapticFeedback

          void vibrateHapticFeedback​(@NonNull
                                     PlatformChannel.HapticFeedbackType feedbackType)

      The Flutter application would like to play the given haptic `feedbackType`.

    - #### setPreferredOrientations

          void setPreferredOrientations​(int androidOrientation)

      The Flutter application would like to display in the given `androidOrientation`.

    - #### setApplicationSwitcherDescription

          void setApplicationSwitcherDescription​(@NonNull
                                                 PlatformChannel.AppSwitcherDescription description)

      The Flutter application would like to be displayed in Android's app switcher with the visual representation described in the given `description`.

      See the related Android documentation: https://developer.android.com/guide/components/activities/recents

    - #### showSystemOverlays

          void showSystemOverlays​(@NonNull
                                  List<PlatformChannel.SystemUiOverlay> overlays)

      The Flutter application would like the Android system to display the given `overlays`.

      `PlatformChannel.SystemUiOverlay.TOP_OVERLAYS` refers to system overlays such as the status bar, while `PlatformChannel.SystemUiOverlay.BOTTOM_OVERLAYS` refers to system overlays such as the back/home/recents navigation on the bottom of the screen.

      An empty list of `overlays` should hide all system overlays.

    - #### showSystemUiMode

          void showSystemUiMode​(@NonNull
                                PlatformChannel.SystemUiMode mode)

      The Flutter application would like the Android system to display the given `mode`.

      `PlatformChannel.SystemUiMode.LEAN_BACK` refers to a fullscreen experience that restores system bars upon tapping anywhere in the application. This tap gesture is not received by the application.

      `PlatformChannel.SystemUiMode.IMMERSIVE` refers to a fullscreen experience that restores system bars upon swiping from the edge of the viewport. This swipe gesture is not recived by the application.

      `PlatformChannel.SystemUiMode.IMMERSIVE_STICKY` refers to a fullscreen experience that restores system bars upon swiping from the edge of the viewport. This swipe gesture is received by the application, in contrast to `PlatformChannel.SystemUiMode.IMMERSIVE`.

      `PlatformChannel.SystemUiMode.EDGE_TO_EDGE` refers to a layout configuration that will consume the full viewport. This full screen experience does not hide status bars. These status bars can be set to transparent, making the buttons and icons hover over the fullscreen application.

    - #### setSystemUiChangeListener

          void setSystemUiChangeListener()

      The Flutter application would like the Android system to notify the framework when the system ui visibility has changed.

      This is relevant when using `PlatformChannel.SystemUiMode`s for fullscreen applications, from which the system overlays can appear or disappear based on user input.

    - #### restoreSystemUiOverlays

          void restoreSystemUiOverlays()

      The Flutter application would like to restore the visibility of system overlays to the last set of overlays sent via `showSystemOverlays(List)` or `showSystemUiMode(SystemUiMode)`.

      If `showSystemOverlays(List)` or `showSystemUiMode(SystemUiMode)` has yet to be called, then a default system overlay appearance is desired:

      `View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN`

    - #### setSystemUiOverlayStyle

          void setSystemUiOverlayStyle​(@NonNull
                                       PlatformChannel.SystemChromeStyle systemUiOverlayStyle)

      The Flutter application would like the system chrome to present itself with the given `systemUiOverlayStyle`, i.e., the given status bar and navigation bar colors and brightness.

    - #### popSystemNavigator

          void popSystemNavigator()

      The Flutter application would like to pop the top item off of the Android app's navigation back stack.

    - #### getClipboardData

          @Nullable
          CharSequence getClipboardData​(@Nullable
                                        PlatformChannel.ClipboardContentFormat format)

      The Flutter application would like to receive the current data in the clipboard and have it returned in the given `format`.

    - #### setClipboardData

          void setClipboardData​(@NonNull
                                String text)

      The Flutter application would like to set the current data in the clipboard to the given `text`.

    - #### clipboardHasStrings

          boolean clipboardHasStrings()

      The Flutter application would like to know if the clipboard currently contains a string that can be pasted.