screen_state 4.0.0 copy "screen_state: ^4.0.0" to clipboard
screen_state: ^4.0.0 copied to clipboard

A plugin for reporting screen events while the flutter application is running in background. Works for Android and iOS only.

screen_state #

pub package

A Flutter plugin for tracking the screen state.

Install #

Add screen_state as a dependency in pubspec.yaml.

For help on adding as a dependency, view the documentation.

Usage #

All incoming data points are streamed with a StreamSubscription which is set up by calling the listen() method on the screenStateStream stream object.

Given a method _onData(ScreenStateEvent event) the subscription can be set up as follows:

Screen _screen;
StreamSubscription<ScreenStateEvent> _subscription;
...
void onData(ScreenStateEvent event) {
    print(event);
}

void startListening() {
    _screen = new Screen();
    try {
      _subscription = _screen.screenStateStream.listen(onData);
    } on ScreenStateException catch (exception) {
      print(exception);
    }
}

The stream can also be cancelled again by calling the cancel() method:

  void stopListening() {
    _subscription.cancel();
  }

Limitations #

iOS:

  • This package will exclusively detect screen unlocks on iOS devices that are protected with a passcode. If the device lacks a passcode, it will solely detect the screen's on/off state;
  • The detection doesn't function when the app is running in the iOS simulator. The plugin will only return a 'Screen_On' event.
  • When the user sets their brightness to the lowest setting, it is possible that this generates a SCREEN_ON event, a limitation to the way that this plugin detects when the screen is off.
36
likes
140
points
4.68k
downloads

Publisher

verified publishercachet.dk

Weekly Downloads

A plugin for reporting screen events while the flutter application is running in background. Works for Android and iOS only.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on screen_state