pedometer 3.0.0 icon indicating copy to clipboard operation
pedometer: ^3.0.0 copied to clipboard

A Pedometer and Step Detection package for Android and iOS. Step count is streamed as the platform updates it.

pedometer #

pub package

This plugin allows for continuous step counting and pedestrian status using the built-in pedometer sensor API of iOS and Android devices.

Permissions for Android #

For Android 10 and above add the following permission to the Android manifest:

<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION" />

Permissions for iOS #

Add the following entries to your Info.plist file in the Runner xcode project:

<string>This application tracks your steps</string>

Step Count #

The step count represents the number of steps taken since the last system boot. On Android, any steps taken before installing the application will not be counted.

Pedestrian Status #

The Pedestrian status is either walking or stopped. In the case that of an error, the status will be unknown.

Availability of Sensors #

Both Step Count and Pedestrian Status may not be available on some phones:

  • It was found that some Samsung phones did not support Step Count or Pedestrian Status
  • Older iPhones did not support Pedestrian Status in particular

There is nothing we can do to solve this problem, unfortunately.

In the case that a sensor is not available, an error will be thrown. It is important that you handle this error yourself.

Example Usage #

See the example app for a fully-fledged example.

Below is shown a more generalized example. Remember to set the required permissions, as described above.

  Stream<StepCount> _stepCountStream;
  Stream<PedestrianStatus> _pedestrianStatusStream;

  void onStepCount(StepCount event) {
    /// Handle step count changed
    int steps = event.steps;
    DateTime timeStamp = event.timeStamp;

  void onPedestrianStatusChanged(PedestrianStatus event) {
    /// Handle status changed
    String status = event.status;
    DateTime timeStamp = event.timeStamp;

  void onPedestrianStatusError(error) {
    /// Handle the error

  void onStepCountError(error) {
    /// Handle the error

  Future<void> initPlatformState() async {
    /// Init streams
    _pedestrianStatusStream = await Pedometer.pedestrianStatusStream;
    _stepCountStream = await Pedometer.stepCountStream;

    /// Listen to streams and handle errors
pub points


verified publisher

A Pedometer and Step Detection package for Android and iOS. Step count is streamed as the platform updates it.

Repository (GitHub)
View/report issues


API reference






Packages that depend on pedometer