Last updated:
0 purchases
flutter sensors
flutter_sensors #
Simple sensor event listener plugin for flutter(Android & iOS).
Installation #
First add the plugin in your project.
Copy the following line below dependencies in your pubspec.yaml file.
dependencies:
...
flutter_sensors: ^1.0.1
copied to clipboard
Then you need to import the dependency.
import 'package:flutter_sensors/flutter_sensors.dart';
copied to clipboard
iOS configuration #
You need to add the following key-value pair into your Info.plist file inside the ios/Runner folder in your project.
<key>NSMotionUsageDescription</key>
<string>A reason to get the permission</string>
copied to clipboard
Android configuration #
You need to add the following permission in your AndroidManifest.xml to use the step counter.
<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION"/>
copied to clipboard
How to use #
You register a new listener for an specific sensor.
final stream = await SensorManager().sensorUpdates(
sensorId: Sensors.ACCELEROMETER,
interval: Sensors.SENSOR_DELAY_GAME,
);
_accelSubscription = stream.listen((sensorEvent) {
setState(() {
_accelData = sensorEvent.data;
});
});
copied to clipboard
Also, you can check if an specific sensor is available.
bool accelerometerAvailable =
await SensorManager().isSensorAvailable(Sensors.ACCELEROMETER);
copied to clipboard
Remember to cancel your StreamSubscriptions after you are done with the sensor updates.
_accelSubscription.cancel();
copied to clipboard
Android Only #
You can give the ID of a sensor without using the Sensors class. Example: registering a listener for the TYPE_LIGHT sensor.
int TYPE_LIGHT = 5; // TYPE_LIGHT is equals to 5
// Checking if is available.
bool isAvailable = await SensorManager().isSensorAvailable(TYPE_LIGHT);
// Initialize a stream to receive the updates.
final stream = await SensorManager().sensorUpdates(sensorId: TYPE_LIGHT);
_lightSubscription = stream.listen((sensorEvent) {
setState(() {
_lightData = sensorEvent.data;
});
});
// Cancel the stream after using it.
_lightSubscription.cancel();
copied to clipboard
You can get the rest of the IDs from here.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.