getMagnetometerData method

  1. @override
Future<MagnetometerData?> getMagnetometerData()
override

Get the current magnetometer data

Implementation

@override
Future<MagnetometerData?> getMagnetometerData() async {
  try {
    final subscription = magnetometerEventStream().listen((event) {});
    await Future.delayed(const Duration(milliseconds: 100));
    final event = await magnetometerEventStream().first;
    subscription.cancel();

    return MagnetometerData(
      x: event.x,
      y: event.y,
      z: event.z,
      timestamp: DateTime.now(),
    );
  } catch (e) {
    return null;
  }
}