本教程演示了如何使用设备传感器。 传感器API为Tizen移动和可穿戴的配置文件是可选的,这意味着它可能不是在所有移动和可穿戴设备支持。 传感器API支持所有Tizen模拟器。
热身熟悉传感器API通过学习基本知识: 管理传感器检查是否支持传感器,使传感器,读取传感器数据和禁用传感器。 传感器数据接收到通知更改注册一个事件处理程序来接收通知对传感器数据的变化。 任务在移动应用程序在 传感器球任务,我们将遍历模拟球的行为来创建一个游戏。 先决条件这个API中没有需要的特权。
管理传感器学习如何开始,阅读和停止一个传感器是一个基本的传感器管理技能: 检查传感器支持的设备使用 getCapability () 的方法 系统信息 接口(在 移动和 可穿戴适当的应用程序) 能力相关传感器: - var proximityCapability = tizen.systeminfo.getCapability("http://tizen.org/feature/sensor.proximity");
- if (proximityCapability === true)
- {
- /* Device supports the proximity sensor */
- var proximitySensor = tizen.sensorservice.getDefaultSensor("PROXIMITY");
- }
复制代码
2.所有可用的传感器类型,使用 getAvailableSensors () 方法:- var sensors = tizen.sensorservice.getAvailableSensors();
- console.log("Available sensor: " + sensors.toString());
复制代码
3.获得 传感器 对象(在 移动 和 可穿戴 应用程序)使用 getDefaultSensor () 的方法 SensorService 接口(在 移动 和 可穿戴 应用程序)。 使传感器使用 开始 () 方法:- var proximitySensor = tizen.sensorservice.getDefaultSensor("PROXIMITY");
- function onsuccessCB()
- {
- console.log("The proximity sensor started successfully.");
- }
- proximitySensor.start(onsuccessCB);
复制代码 4.从传感器获取数据,使用传感器对象的适当的方法。 例如,对于 LightSensor (在 移动 和 可穿戴 应用程序),可以使用 getLightSensorData () 方法:- var lightSensor = tizen.sensorservice.getDefaultSensor("LIGHT");
- function onGetSuccessCB(sensorData)
- {
- console.log("light level: " + sensorData.lightLevel);
- }
- function onsuccessCB()
- {
- console.log("sensor started");
- lightSensor.getLightSensorData(onGetSuccessCB);
- lightSensor.stop();
- }
- lightSensor.start(onsuccessCB);
复制代码 5.禁用传感器在不再需要时,使用 停止 () 的方法 传感器 接口:
传感器数据接收到通知更改
学习如何注册一个变化对传感器数据事件处理程序使您的应用程序能够应对不断变化,而不需要查看当前值。
1.定义一个事件处理程序实现传感器数据的变化 SensorDataSuccessCallback 接口(在 移动 和 可穿戴 应用程序):- function onchangedCB(sensorData)
- {
- console.log("value of pressure is : " + sensorData.pressure);
- }
复制代码
2.注册侦听器被称为变化时,传感器数据的变化。
要注册一个改变监听器,使用 setChangeListener () 的方法 传感器 接口(在 移动 和 可穿戴 应用程序)。
当传感器读数变化,注册事件处理程序叫做和 SensorData 对象(在 移动 和 可穿戴 应用程序)传递给侦听器。- var proximitySensor = tizen.sensorservice.getDefaultSensor("PROXIMITY");
- function onsuccessCB()
- {
- console.log("proximity sensor start");
- }
- function onchangedCB(sensorData)
- {
- console.log("proximity distance : " + sensorData.proximityState);
- }
- proximitySensor.setChangeListener(onchangedCB);
- proximitySensor.start(onsuccessCB);
复制代码
3.停止接收通知传感器数据发生变化时,使用 unsetChangeListener () 传感器接口的方法。- proximitySensor.unsetChangeListener();
复制代码 |