accelerometer method
Stream<AccelerometerEvent>
accelerometer({
- Duration samplingPeriod = SensorInterval.normalInterval,
Implementation
Stream<AccelerometerEvent> accelerometer({
Duration samplingPeriod = SensorInterval.normalInterval,
}){
if (_accelerometerStreamController == null) {
_accelerometerStreamController = StreamController<AccelerometerEvent>();
_featureDetected(
() {
final accelerometer = Accelerometer(
SensorOptions(
frequency: samplingPeriod.frequency,
),
);
accelerometer.start();
accelerometer.onreading = (Event _) {
_accelerometerStreamController!.add(
AccelerometerEvent(
accelerometer.x,
accelerometer.y,
accelerometer.z,
),
);
}.toJS;
accelerometer.onerror = (SensorErrorEvent e) {
developer.log(
'The accelerometer API is supported but something is wrong!',
error: e.error.message,
);
}.toJS;
},
apiName: 'Accelerometer()',
permissionName: 'accelerometer',
onError: () {
_accelerometerStreamController!.add(AccelerometerEvent(0, 0, 0));
},
);
_accelerometerResultStream =
_accelerometerStreamController!.stream.asBroadcastStream();
_accelerometerStreamController!.onCancel = () {
_accelerometerStreamController!.close();
};
}
return _accelerometerResultStream;
}