计步器中的计步器包装不适用于某些设备

问题描述

我在Flutter应用程序中使用了计步器软件包版本^ 1.2.0,我注意到它不适用于某些设备,例如Samsung A30和其他设备,我使用的版本不需要任何权限,并且可以在我的设备上使用设备OPPO F7(使用Android 10),这是什么问题?

这是代码

StreamSubscription<int> _subscription;
Box<int> stepsBox = Hive.Box('steps');
int todaySteps;

@override
void initState() {
 super.initState();
 startListening();
}

@override
void dispose() {
 stopListening();
 super.dispose();
}

void startListening() {
_pedometer = pedometer();
_subscription = _pedometer.pedometerStream.listen(
  getTodaySteps,onError: _onError,onDone: _onDone,cancelOnError: true,);
}

void _onDone() => print("Finished pedometer tracking");
void _onError(error) => print("Flutter pedometer Error: $error");

Future<int> getTodaySteps(int value) async {
print(value);
int savedStepsCountKey = 999999;
int savedStepsCount = stepsBox.get(savedStepsCountKey,defaultValue: 0);

int todayDayNo = Jiffy(DateTime.Now()).dayOfYear;
if (value < savedStepsCount) {
  // Upon device reboot,pedometer resets. When this happens,the saved counter must be reset as well.
  savedStepsCount = 0;
  // persist this value using a package of your choice here
  stepsBox.put(savedStepsCountKey,savedStepsCount);
}

// load the last day saved using a package of your choice here
int lastDaySavedKey = 888888;
int lastDaySaved = stepsBox.get(lastDaySavedKey,defaultValue: 0);

// When the day changes,reset the daily steps count
// and Update the last day saved as the day changes.
if (lastDaySaved < todayDayNo) {
  lastDaySaved = todayDayNo;
  savedStepsCount = value;

  stepsBox
    ..put(lastDaySavedKey,lastDaySaved)
    ..put(savedStepsCountKey,savedStepsCount);
}

setState(() {
  todaySteps = value - savedStepsCount;
});
stepsBox.put(todayDayNo,todaySteps);
return todaySteps; // this is your daily steps value.
}

void stopListening() {
 _subscription.cancel();
}

解决方法

我认为在这种情况下,最好直接在lib存储库中提出问题,然后再提出问题。 https://github.com/cph-cachet/flutter-plugins/issues

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...