在 Flutter 中获取设备方向(偏航、滚动和俯仰)

Hex*_*ell 5 android rotation gyroscope flutter sensors

在 Android 中,我可以使用传感器获取设备的偏航、滚动和俯仰GAME_ROTATION_VECTOR

我需要在 Flutter 中做同样的事情,但除了传感器包之外我找不到任何东西,它只能访问加速度计和陀螺仪传感器。

我能做些什么?我需要自己根据加速度计和陀螺仪计算方向吗?

小智 5

不知道这是否仍然相关,因为问题尚未结束,但对于那些寻求答案的人......现在有一个Flutter Sensors 包可以为您带来所有魔力。

当然,您必须订阅流才能获取加速度计和陀螺仪的当前值。

例如:

  @override
  void initState() {
    super.initState();
    _streamSubscriptions
        .add(accelerometerEvents.listen((AccelerometerEvent event) {
      setState(() {
        _accelerometerValues = <double>[event.x, event.y, event.z];
      });
    }));
    _streamSubscriptions.add(gyroscopeEvents.listen((GyroscopeEvent event) {
      setState(() {
        _gyroscopeValues = <double>[event.x, event.y, event.z];
      });
    }));
    _streamSubscriptions
        .add(userAccelerometerEvents.listen((UserAccelerometerEvent event) {
      setState(() {
        _userAccelerometerValues = <double>[event.x, event.y, event.z];
      });
    }));
  }
Run Code Online (Sandbox Code Playgroud)

  • 抱歉,我正在谈论 https://github.com/aeyrium/aeyrium-sensor/ 包,关于“传感器”包,它不是很方便,因为您一次只能获取增量而不是当前值,这意味着您必须从起始“基准”位置跟踪值,这与 aeyrium 传感器包的情况不同,但不幸的是缺少偏航值。 (3认同)

归档时间:

查看次数:

9605 次

最近记录:

1 年,8 月 前