screen_brightness_monitor 1.0.2 copy "screen_brightness_monitor: ^1.0.2" to clipboard
screen_brightness_monitor: ^1.0.2 copied to clipboard

A Flutter plugin to monitor screen brightness changes on Android and iOS using JNI and FFI.

screen_brightness_monitor #

A Flutter FFI plugin that monitors system screen brightness on Android and iOS.

Uses swiftgen and jnigen to generate native bindings.

Features #

  • Read the current screen brightness (0–255)
  • Listen to brightness changes as a stream
  • Native implementations: Android (ContentObserver) and iOS (UIScreen.brightnessDidChangeNotification)
Android iOS

Usage #

import 'package:screen_brightness_monitor/screen_brightness_monitor.dart';

// Create a monitor (auto-selects Android or iOS implementation)
final monitor = BrightnessMonitor();

// Read current brightness
print(monitor.brightness); // 0–255

// Listen to changes
final subscription = monitor.onBrightnessChanged.listen((brightness) {
  print('Brightness changed: $brightness');
});

// Stop listening and clean up
subscription.cancel();
monitor.dispose();

Platform Support #

Platform Supported
Android
iOS

Regenerate bindings #

Android (jnigen) — build first, then generate:

cd example && flutter build apk --release && cd ..
dart run tool/jnigen.dart

iOS (swiftgen):

dart run tool/swiftgen.dart