跳到主要内容
版本:v2

Motion

Motion API 用于追踪加速度计和设备方向(罗盘朝向等)数据

权限说明

本插件当前基于 Web API 实现。多数浏览器在使用前需要获取权限。可通过用户触发操作(如按钮点击)来请求权限:

myButton.addEventListener('click', async () => {
try {
await DeviceMotionEvent.requestPermission();
} catch (e) {
// 处理错误
return;
}

// 用户授权后即可开始监听:
const { Motion } = Capacitor.Plugins;
Capacitor.Plugins.Motion.addListener('accel', (event) => {});
});

使用示例

const { Motion } = Capacitor.Plugins;
Motion.addListener('accel', (event) => {});

请参考 DeviceMotionEvent API 以了解事件参数详情。

API 参考

addListener(...)

addListener(eventName: 'accel', listenerFunc: (event: MotionEventResult) => void) => PluginListenerHandle

监听加速度计数据

参数类型
eventName"accel"
listenerFunc
(event: MotionEventResult) => void

返回值:

PluginListenerHandle


addListener(...)

addListener(eventName: 'orientation', listenerFunc: (event: MotionOrientationEventResult) => void) => PluginListenerHandle

监听设备方向变化(罗盘朝向等)

参数类型
eventName"orientation"
listenerFunc
(event: MotionOrientationEventResult) => void

返回值:

PluginListenerHandle


removeAllListeners()

removeAllListeners() => void

移除本插件的所有监听器


Interfaces

PluginListenerHandle

属性类型
remove() => void

MotionEventResult

属性类型
acceleration{ x: number; y: number; z: number; }
accelerationIncludingGravity{ x: number; y: number; z: number; }
rotationRate{ alpha: number; beta: number; gamma: number; }
intervalnumber

MotionOrientationEventResult

属性类型
alphanumber
betanumber
gammanumber