function handleMotionEvent(event) {
var x = event.accelerationIncludingGravity.x;
var y = event.accelerationIncludingGravity.y;
var z = event.accelerationIncludingGravity.z;
// Do something awesome.
}
window.addEventListener("devicemotion", handleMotionEvent, true);
一. 简介
要实现h5检测手机摇一摇动作可以直接调用h5原生api。但是在我的实践中发现在
ios
中限制条件比较多,体验还是有些区别的。二. 如何监听
调用
Window: devicemotion event
即可实现监听。devicemotion
事件以固定的时间间隔触发,并指示设备当时在接收的加速物理力量。 它还提供有关旋转速率的信息(如果有)。三. 安卓机
安卓机上直接按照如上即可实现。
四. iPhone
1. 限制
在
ios
上限制有两条:https
协议的devicemotion
2. 授权
直接调用该函数请求授权会导致报错:
需要用户主动去请求授权,因此此处需要将调用放到比如一个按钮上,让用户去点击请求授权。
3. 全部代码