在Flutter中获取设备方向(偏航,横摇和俯仰)

时间:2018-08-08 14:33:52

标签: android rotation flutter sensor gyroscope

在Android中,我可以使用GAME_ROTATION_VECTOR传感器获取设备的偏航,横摇和俯仰。

我需要在Flutter中做同样的事情,但是除了sensors软件包之外,我什么都找不到。该软件包只能访问加速度计和陀螺仪传感器。

我该怎么办?我需要自己从加速度计和陀螺仪计算方位吗?

1 个答案:

答案 0 :(得分:1)

由于问题尚未解决,所以不知道这是否仍然有意义,但是对于那些寻求答案的人来说……现在有一个Flutter Sensors package可以为您解决所有难题。

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

例如:

  @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];
      });
    }));
  }