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

问题描述 投票:1回答:1

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

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

我能做什么?我是否需要自己从加速度计和陀螺仪计算方向?

android rotation flutter sensor gyroscope
1个回答
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];
      });
    }));
  }
© www.soinside.com 2019 - 2024. All rights reserved.