Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Coping0606
Docs
提交
707f497e
D
Docs
项目概览
Coping0606
/
Docs
与 Fork 源项目一致
Fork自
OpenHarmony / Docs
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
707f497e
编写于
9月 24, 2022
作者:
H
h00514358
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Modify docs
Signed-off-by:
N
h00514358
<
huiyuehong@huawei.com
>
上级
fe6082fd
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
44 addition
and
110 deletion
+44
-110
zh-cn/application-dev/device/sensor-guidelines.md
zh-cn/application-dev/device/sensor-guidelines.md
+26
-58
zh-cn/application-dev/device/sensor-overview.md
zh-cn/application-dev/device/sensor-overview.md
+5
-4
zh-cn/application-dev/device/vibrator-guidelines.md
zh-cn/application-dev/device/vibrator-guidelines.md
+12
-47
zh-cn/application-dev/device/vibrator-overview.md
zh-cn/application-dev/device/vibrator-overview.md
+1
-1
未找到文件。
zh-cn/application-dev/device/sensor-guidelines.md
浏览文件 @
707f497e
...
@@ -26,58 +26,30 @@
...
@@ -26,58 +26,30 @@
| -------- | -------- | -------- |
| -------- | -------- | -------- |
| ohos.sensor | sensor.on(sensorType, callback:AsyncCallback
<
Response
>
): void | 持续监听传感器数据变化 |
| ohos.sensor | sensor.on(sensorType, callback:AsyncCallback
<
Response
>
): void | 持续监听传感器数据变化 |
| ohos.sensor | sensor.once(sensorType, callback:AsyncCallback
<
Response
>
): void | 获取一次传感器数据变化 |
| ohos.sensor | sensor.once(sensorType, callback:AsyncCallback
<
Response
>
): void | 获取一次传感器数据变化 |
| ohos.sensor | sensor.off(sensorType, callback:AsyncCallback
<
void
>
): void | 注销传感器数据的监听 |
| ohos.sensor | sensor.off(sensorType, callback
?
:AsyncCallback
<
void
>
): void | 注销传感器数据的监听 |
## 开发步骤
## 开发步骤
1.
获取设备上传感器的数据,需要在“config.json”里面进行配置请求权限。具体如下:
1.
获取设备上传感器的数据前,需要检查是否已经配置请求相应的权限。
<br>
系统提供的传感器权限有:
```
-
ohos.permission.ACCELEROMETER
"reqPermissions":[
{
-
ohos.permission.GYROSCOPE
"name":"ohos.permission.ACCELEROMETER",
"reason":"",
-
ohos.permission.ACTIVITY_MOTION
"usedScene":{
"ability": ["sensor.index.MainAbility",".MainAbility"],
-
ohos.permission.READ_HEALTH_DATA
"when":"inuse"
}
具体配置方式请参考
[
权限申请声明
](
../security/accesstoken-guidelines.md
)
。
},
{
"name":"ohos.permission.GYROSCOPE",
"reason":"",
"usedScene":{
"ability": ["sensor.index.MainAbility",".MainAbility"],
"when":"inuse"
}
},
{
"name":"ohos.permission.ACTIVITY_MOTION",
"reason":"ACTIVITY_MOTION_TEST",
"usedScene":{
"ability": ["sensor.index.MainAbility",".MainAbility"],
"when":"inuse"
}
},
{
"name":"ohos.permission.READ_HEALTH_DATA",
"reason":"HEALTH_DATA_TEST",
"usedScene":{
"ability": ["sensor.index.MainAbility",".MainAbility"],
"when":"inuse"
}
},
]
```
2.
持续监听传感器数据变化。
2.
持续监听传感器数据变化。
```
```
import sensor from "@ohos.sensor"
import sensor from "@ohos.sensor";
sensor.on(sensor.sensorType.SENSOR_TYPE_ACCELEROMETER,function(data){
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_ACCELEROMETER, function(data){
console.info("Subscription succeeded. data = " + data);//调用成功,打印对应传感器的数据
console.info("Data obtained successfully. x: " + data.x + "y: " + data.y + "z: " + data.z);// 获取数据成功
}
});
);
```
```
以SensorType为SENSOR_TYPE_ID_ACCELEROMETER为例展示运行结果,持续监听传感器接口的结果如下图所示:
以SensorType为SENSOR_TYPE_ID_ACCELEROMETER为例展示运行结果,持续监听传感器接口的结果如下图所示:
...
@@ -87,11 +59,8 @@
...
@@ -87,11 +59,8 @@
3.
注销传感器数据监听。
3.
注销传感器数据监听。
```
```
import sensor from "@ohos.sensor"
import sensor from "@ohos.sensor";
sensor.off(sensor.sensorType.SENSOR_TYPE_ACCELEROMETER,function() {
sensor.off(sensor.SensorType.SENSOR_TYPE_ID_ACCELEROMETER);
console.info("Succeeded in unsubscribing from acceleration sensor data.");//注销成功,返回打印结果
}
);
```
```
以SensorType为SENSOR_TYPE_ID_ACCELEROMETER为例展示运行结果,注销传感器成功结果如下图所示:
以SensorType为SENSOR_TYPE_ID_ACCELEROMETER为例展示运行结果,注销传感器成功结果如下图所示:
...
@@ -101,11 +70,10 @@
...
@@ -101,11 +70,10 @@
4.
获取一次传感器数据变化。
4.
获取一次传感器数据变化。
```
```
import sensor from "@ohos.sensor"
import sensor from "@ohos.sensor";
sensor.once(sensor.sensorType.SENSOR_TYPE_ACCELEROMETER,function(data) {
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_ACCELEROMETER, function(data) {
console.info("Data obtained successfully. data=" + data);//获取数据成功,打印对应传感器的数据
console.info("Data obtained successfully. x: " + data.x + "y: " + data.y + "z: " + data.z);// 获取数据成功
}
});
);
```
```
以SensorType为SENSOR_TYPE_ID_ACCELEROMETER为例展示运行结果,获取数据成功日志如下图所示:
以SensorType为SENSOR_TYPE_ID_ACCELEROMETER为例展示运行结果,获取数据成功日志如下图所示:
...
@@ -115,15 +83,15 @@
...
@@ -115,15 +83,15 @@
若接口调用不成功,建议使用try/catch语句捕获代码中可能出现的错误信息。例如:
若接口调用不成功,建议使用try/catch语句捕获代码中可能出现的错误信息。例如:
```
```
import sensor from "@ohos.sensor";
try {
try {
sensor.once(sensor.
sensorType.SENSOR_TYPE_ACCELEROMETER,
function(data) {
sensor.once(sensor.
SensorType.SENSOR_TYPE_ID_ACCELEROMETER,
function(data) {
console.info("Data obtained successfully.
data=" + data);//获取数据成功,打印对应传感器的数据
console.info("Data obtained successfully.
x: " + data.x + "y: " + data.y + "z: " + data.z);// 获取数据成功
});
});
} catch (error) {
} catch (error) {
console.error(
error
);
console.error(
"Get sensor data fail"
);
}
}
```
```
## 相关实例
## 相关实例
针对传感器开发,有以下相关实例可供参考:
针对传感器开发,有以下相关实例可供参考:
...
...
zh-cn/application-dev/device/sensor-overview.md
浏览文件 @
707f497e
...
@@ -8,10 +8,10 @@ OpenHarmony系统传感器是应用访问底层硬件传感器的一种设备抽
...
@@ -8,10 +8,10 @@ OpenHarmony系统传感器是应用访问底层硬件传感器的一种设备抽
| 传感器类型 | 描述 | 说明 | 主要用途 |
| 传感器类型 | 描述 | 说明 | 主要用途 |
| --------------------------------------- | --------- | ---------------------------------------- | -------------------- |
| --------------------------------------- | --------- | ---------------------------------------- | -------------------- |
| SENSOR_TYPE_ACCELEROMETER | 加速度传感器 | 测量三个物理轴(x、y
和
z)上,施加在设备上的加速度(包括重力加速度),单位
:
m/s
2
| 检测运动状态 |
| SENSOR_TYPE_ACCELEROMETER | 加速度传感器 | 测量三个物理轴(x、y
和
z)上,施加在设备上的加速度(包括重力加速度),单位
:
m/s
²
| 检测运动状态 |
| SENSOR_TYPE_ACCELEROMETER_UNCALIBRATED | 未校准加速度传感器 | 测量三个物理轴(x、y
和
z)上,施加在设备上的未校准的加速度(包括重力加速度),单位
:
m/s
2
| 检测加速度偏差估值 |
| SENSOR_TYPE_ACCELEROMETER_UNCALIBRATED | 未校准加速度传感器 | 测量三个物理轴(x、y
和
z)上,施加在设备上的未校准的加速度(包括重力加速度),单位
:
m/s
²
| 检测加速度偏差估值 |
| SENSOR_TYPE_LINEAR_ACCELERATION | 线性加速度传感器 | 测量三个物理轴(x、y
和
z)上,施加在设备上的线性加速度(不包括重力加速度),单位
:
m/s
2
| 检测每个单轴方向上的线性加速度 |
| SENSOR_TYPE_LINEAR_ACCELERATION | 线性加速度传感器 | 测量三个物理轴(x、y
和
z)上,施加在设备上的线性加速度(不包括重力加速度),单位
:
m/s
²
| 检测每个单轴方向上的线性加速度 |
| SENSOR_TYPE_GRAVITY | 重力传感器 | 测量三个物理轴(x、y
和
z)上,施加在设备上的重力加速度,单位
:
m/s
2
| 测量重力大小 |
| SENSOR_TYPE_GRAVITY | 重力传感器 | 测量三个物理轴(x、y
和
z)上,施加在设备上的重力加速度,单位
:
m/s
²
| 测量重力大小 |
| SENSOR_TYPE_GYROSCOPE | 陀螺仪传感器 | 测量三个物理轴(x、y
和
z)上,设备的旋转角速度,单位
:
rad/s | 测量旋转的角速度 |
| SENSOR_TYPE_GYROSCOPE | 陀螺仪传感器 | 测量三个物理轴(x、y
和
z)上,设备的旋转角速度,单位
:
rad/s | 测量旋转的角速度 |
| SENSOR_TYPE_GYROSCOPE_UNCALIBRATED | 未校准陀螺仪传感器 | 测量三个物理轴(x、y
和
z)上,设备的未校准旋转角速度,单位
:
rad/s | 测量旋转的角速度及偏差估值 |
| SENSOR_TYPE_GYROSCOPE_UNCALIBRATED | 未校准陀螺仪传感器 | 测量三个物理轴(x、y
和
z)上,设备的未校准旋转角速度,单位
:
rad/s | 测量旋转的角速度及偏差估值 |
| SENSOR_TYPE_SIGNIFICANT_MOTION | 大幅度动作传感器 | 测量三个物理轴(x、y
和
z)上,设备是否存在大幅度运动;如果取值为1则代表存在大幅度运动,取值为0则代表没有大幅度运动 | 用于检测设备是否存在大幅度运动 |
| SENSOR_TYPE_SIGNIFICANT_MOTION | 大幅度动作传感器 | 测量三个物理轴(x、y
和
z)上,设备是否存在大幅度运动;如果取值为1则代表存在大幅度运动,取值为0则代表没有大幅度运动 | 用于检测设备是否存在大幅度运动 |
...
@@ -60,3 +60,4 @@ OpenHarmony传感器包含如下四个模块:Sensor API、Sensor Framework、S
...
@@ -60,3 +60,4 @@ OpenHarmony传感器包含如下四个模块:Sensor API、Sensor Framework、S
| 心率计 | ohos.permission.READ_HEALTH_DATA | user_grant | 允许读取健康数据 |
| 心率计 | ohos.permission.READ_HEALTH_DATA | user_grant | 允许读取健康数据 |
2.
传感器数据订阅和取消订阅接口成对调用,当不再需要订阅传感器数据时,开发者需要调用取消订阅接口停止数据上报。
2.
传感器数据订阅和取消订阅接口成对调用,当不再需要订阅传感器数据时,开发者需要调用取消订阅接口停止数据上报。
\ No newline at end of file
zh-cn/application-dev/device/vibrator-guidelines.md
浏览文件 @
707f497e
...
@@ -22,53 +22,18 @@
...
@@ -22,53 +22,18 @@
## 开发步骤
## 开发步骤
1.
控制设备上的振动器,需要在“config.json”里面进行配置请求权限。具体如下:
1.
控制设备上的振动器,需要申请权限ohos.permission.VIBRATE。具体配置方式请参考
[
权限申请声明
](
../security/accesstoken-guidelines.md
)
。
```
”reqPermissions“:[
{
"name":"ohos.permission.ACCELEROMETER",
"reason"":"",
"usedScene":{
"ability""[
".MainAbility"
],
"when":"inuse"
}
},
{
"name":"ohos.permission.VIBRATE",
"reason"":"",
"usedScene":{
"ability""[
".MainAbility"
],
"when":"inuse"
}
},
{
"name":"ohos.permission.ACTIVITY_MOTION",
"reason"":"",
"usedScene":{
"ability""[
".MainAbility"
],
"when":"inuse"
}
},
]
```
2.
触发设备振动。
2.
触发设备振动。
```
```
import vibrator from "@ohos.vibrator"
import vibrator from "@ohos.vibrator"
vibrator.vibrate(1000).then((error)
=>
{
vibrator.vibrate(1000).then((error)
=>
{
if
(error){
//调用失败,打印error.code和error.message
if
(error) {
//调用失败,打印error.code和error.message
console.log("Promise return failed.error.code
"+error.code+"error.message"+
error.message);
console.log("Promise return failed.error.code
" + error.code + "error.message " +
error.message);
}
else{
//调用成功,设备开始振动
}
else {
//调用成功,设备开始振动
console.log("Promise returned to indicate a successful vibration.")
console.log("Promise returned to indicate a successful vibration.")
}
;
}
})
})
```
```
...
@@ -76,12 +41,12 @@
...
@@ -76,12 +41,12 @@
```
```
import vibrator from "@ohos.vibrator"
import vibrator from "@ohos.vibrator"
vibrator.stop(vibrator.VibratorStopMode.VIBRATOR_STOP_MODE_PRESET).then((error)
=>
{
vibrator.stop(vibrator.VibratorStopMode.VIBRATOR_STOP_MODE_PRESET).then((error)
=>
{
if
(error){
//调用失败,打印error.code和error.message
if
(error) {
//调用失败,打印error.code和error.message
console.log("Promise return failed.error.code
"+error.code+"error.message"+
error.message);
console.log("Promise return failed.error.code
" + error.code + "error.message " +
error.message);
}
else{
//调用成功,设备停止振动
}
else {
//调用成功,设备停止振动
C
onsole.log("Promise returned to indicate successful.");
c
onsole.log("Promise returned to indicate successful.");
}
;
}
})
})
```
```
...
...
zh-cn/application-dev/device/vibrator-overview.md
浏览文件 @
707f497e
...
@@ -23,7 +23,7 @@ Vibrator属于控制类小器件,主要包含以下四个模块:Vibrator API
...
@@ -23,7 +23,7 @@ Vibrator属于控制类小器件,主要包含以下四个模块:Vibrator API
## 约束与限制
## 约束与限制
在使用振动器时,开发者需要配置请求振动器的权限ohos.permission.VIBRATE,才能控制振动器振动
,权限类型是system_grant
。
在使用振动器时,开发者需要配置请求振动器的权限ohos.permission.VIBRATE,才能控制振动器振动。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录