Android 在颤振中获取设备方向(偏航、横摇和俯仰)

Android 在颤振中获取设备方向(偏航、横摇和俯仰),android,rotation,flutter,sensors,gyroscope,Android,Rotation,Flutter,Sensors,Gyroscope,在安卓系统中,我可以使用GAME\u ROTATION\u VECTOR传感器获取设备的偏航、滚动和俯仰 我需要在颤振中做同样的事情,但除了这个只提供加速计和陀螺仪传感器的软件包,我什么也找不到 我能做什么?我需要自己从加速计和陀螺仪计算方向吗?不知道这是否仍然相关,因为问题还没有结束,但对于那些寻求答案的人来说。。。现在有一个能为你带来所有魔力的 当然,你必须订阅这些数据流才能得到加速度计和陀螺仪的当前值 例如: @override void initState() { sup

在安卓系统中,我可以使用
GAME\u ROTATION\u VECTOR
传感器获取设备的偏航、滚动和俯仰

我需要在颤振中做同样的事情,但除了这个只提供加速计和陀螺仪传感器的软件包,我什么也找不到


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

不知道这是否仍然相关,因为问题还没有结束,但对于那些寻求答案的人来说。。。现在有一个能为你带来所有魔力的

当然,你必须订阅这些数据流才能得到加速度计和陀螺仪的当前值

例如:

  @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];
      });
    }));
  }
@覆盖
void initState(){
super.initState();
_流订阅
.add(Accelerometrevent.listen)((Accelerometrevent事件){
设置状态(){
_加速度计值=[event.x,event.y,event.z];
});
}));
_streamSubscriptions.add(陀螺仪事件)侦听((陀螺仪事件){
设置状态(){
_值=[event.x,event.y,event.z];
});
}));
_流订阅
.add(userAccelerometrevent.listen)((userAccelerometrevent事件){
设置状态(){
_userAccelerometerValues=[event.x,event.y,event.z];
});
}));
}

您可以使用
plaform\u channel
调用android方法并从中获取结果flutter@R我能做相反的事吗?像Android的呼叫颤振功能?因为这将更好地解决我的问题,请看,不幸的是,偏航(方位角)不适用于此软件包。嗯,偏航是Z轴。(Y-Pitch,X-Roll)对不起,我刚才说的是软件包,关于“传感器”软件包,它不是很方便,因为你一次只能得到一个增量,而不是当前值,这意味着你必须从一个开始的“基础”位置跟踪值,aeyrium传感器组件的情况并非如此,但不幸的是,它缺少偏航值。根据文件中关于颤振组件的说明,这些是加速度的“当前”值。不是三角洲。例如:“沿x轴(包括重力)的加速度,以m/s^2为单位。”请参阅此处的更多信息: