- Cordova 教程
- Cordova - 首页
- Cordova - 概述
- Cordova - 环境设置
- Cordova - 第一个应用程序
- Cordova - Config.xml 文件
- Cordova - 存储
- Cordova - 事件
- Cordova - 返回按钮
- Cordova - Plugman
- Cordova - 电池状态
- Cordova - 相机
- Cordova - 联系人
- Cordova - 设备
- Cordova - 加速计
- Cordova - 设备方向
- Cordova - 对话框
- Cordova - 文件系统
- Cordova - 文件传输
- Cordova - 地理位置
- Cordova - 全球化
- Cordova - InAppBrowser
- Cordova - 媒体
- Cordova - 媒体捕获
- Cordova - 网络信息
- Cordova - 启动画面
- Cordova - 振动
- Cordova - 白名单
- Cordova - 最佳实践
- Cordova 有用资源
- Cordova - 快速指南
- Cordova - 有用资源
- Cordova - 讨论
Cordova - 加速计
加速计插件也称为device-motion。它用于跟踪三维空间中的设备运动。
步骤 1 - 安装加速计插件
我们将使用cordova-CLI安装此插件。在命令提示符窗口中键入以下代码。
C:\Users\username\Desktop\CordovaProject>cordova plugin add cordova-plugindevice-motion
步骤 2 - 添加按钮
在此步骤中,我们将在index.html文件中添加两个按钮。一个用于获取当前加速度,另一个用于监视加速度变化。
<button id = "getAcceleration">GET ACCELERATION</button> <button id = "watchAcceleration">WATCH ACCELERATION</button>
步骤 3 - 添加事件监听器
现在让我们为按钮添加事件监听器到index.js中的onDeviceReady函数。
document.getElementById("getAcceleration").addEventListener("click", getAcceleration); document.getElementById("watchAcceleration").addEventListener( "click", watchAcceleration);
步骤 4 - 创建函数
现在,我们将创建两个函数。第一个函数用于获取当前加速度,第二个函数监视加速度,并且关于加速度的信息将每三秒触发一次。我们还将添加由setTimeout函数包装的clearWatch函数,以在指定的时间段后停止监视加速度。frequency参数用于每三秒触发回调函数。
function getAcceleration() { navigator.accelerometer.getCurrentAcceleration( accelerometerSuccess, accelerometerError); function accelerometerSuccess(acceleration) { alert('Acceleration X: ' + acceleration.x + '\n' + 'Acceleration Y: ' + acceleration.y + '\n' + 'Acceleration Z: ' + acceleration.z + '\n' + 'Timestamp: ' + acceleration.timestamp + '\n'); }; function accelerometerError() { alert('onError!'); }; } function watchAcceleration() { var accelerometerOptions = { frequency: 3000 } var watchID = navigator.accelerometer.watchAcceleration( accelerometerSuccess, accelerometerError, accelerometerOptions); function accelerometerSuccess(acceleration) { alert('Acceleration X: ' + acceleration.x + '\n' + 'Acceleration Y: ' + acceleration.y + '\n' + 'Acceleration Z: ' + acceleration.z + '\n' + 'Timestamp: ' + acceleration.timestamp + '\n'); setTimeout(function() { navigator.accelerometer.clearWatch(watchID); }, 10000); }; function accelerometerError() { alert('onError!'); }; }
现在,如果我们按下获取加速度按钮,我们将获得当前加速度值。如果我们按下监视加速度按钮,警报将每三秒触发一次。显示第三个警报后,将调用clearWatch函数,并且我们不会再收到任何警报,因为我们将超时设置为 10000 毫秒。
广告