旋转设备时候使用传感器sensor返回的alpha值来设备方向,发现在设备按x或者y方向旋转会导致alpha值变动导致方向判断错误。代码如下:
sensor.on(sensor.SensorId.ORIENTATION, (data: sensor.OrientationResponse) => {
let orient: number = (Math.floor((data.alpha) / 90) * 90) % 360
console.info(TAG, 'sensor orientation = ' + data.alpha + ', orient = ' + orient)
});
该使用方式来获取设备方向是否正确呢?
可以使用重力传感器判断设备朝向,参考demo: