sensors_plus is a more up-to-date and widely-used package for accessing various sensors on mobile devices with flutter.
To use sensors_plus, first add the package to your pubspec.yaml file:
https://pub.dev/packages/sensors_plus
dependencies:
sensors_plus: ^0.2.6
Then, import the package in your Dart file:
import 'package:sensors_plus/sensors_plus.dart';
You can access different types of sensors using the SensorManager class:
void main() {
runApp(MyApp());
}
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> with SensorManager {
String _accelerometerData = 'Accelerometer: ';
String _gyroscopeData = 'Gyroscope: ';
String _magnetometerData = 'Magnetometer: ';
@override
void initState() {
super.initState();
accelerometerEvents.listen((AccelerometerEvent event) {
setState(() {
_accelerometerData = 'X: ${event.x}, Y: ${event.y}, Z: ${event.z}';
});
});
gyroscopeEvents.listen((GyroscopeEvent event) {
setState(() {
_gyroscopeData = 'X: ${event.x}, Y: ${event.y}, Z: ${event.z}';
});
});
magnetometerEvents.listen((MagnetometerEvent event) {
setState(() {
_magnetometerData = 'X: ${event.x}, Y: ${event.y}, Z: ${event.z}';
});
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Sensors Demo'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(_accelerometerData),
Text(_gyroscopeData),
Text(_magnetometerData),
],
),
),
);
}
}
sensors_plus provides a more comprehensive set of features and better support for various sensors, including:
- Accelerometer
- Gyroscope
- Magnetometer
- Orientation sensor (compass)
- Light sensor
- Proximity sensor
- Step counter
- Distance sensor
It also includes a SensorManager class that allows you to listen to sensor events in real-time.
