js-apis-system-parameter.md 6.2 KB
Newer Older
1
# 系统参数
Z
zengyawen 已提交
2

3 4 5
系统参数(SystemParameter)是为各系统服务提供的简单易用的键值对访问接口,各个系统服务可以定义系统参数来描述该服务的状态信息,或者通过系统参数来改变系统服务的行为。其基本操作原语为get和set,通过get可以查询系统参数的值,通过set可以修改系统参数的值。
详细的系统参数设计原理及定义可参考
[系统参数](../../../device-dev/subsystems/subsys-boot-init-sysparam.md)
Z
zengyawen 已提交
6 7
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> - 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8 9 10
> - 由于系统参数都是各个系统服务的内部信息和控制参数,每个系统参数都有各自不同的DAC和MAC访问控制权限,三方应用不能使用此类接口。


Z
zengyawen 已提交
11

Z
zengyawen 已提交
12
## 导入模块
Z
zengyawen 已提交
13

Y
yichengzhao 已提交
14
```ts
L
laiguizhong 已提交
15
import parameter from '@ohos.systemparameter'
Z
zengyawen 已提交
16 17
```

Z
zengyawen 已提交
18 19 20

## parameter.getSync

21
getSync(key: string, def?: string): string
Z
zengyawen 已提交
22

23
获取系统参数Key对应的值。
Z
zengyawen 已提交
24

C
chen_jie 已提交
25
**系统能力:** SystemCapability.Startup.SystemInfo
Z
zengyawen 已提交
26

Z
zengyawen 已提交
27 28
**参数:**

Z
zengyawen 已提交
29 30
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
31
| key | string | 是 | 待查询的系统参数Key。 |
Z
zengyawen 已提交
32
| def | string | 否 | 默认值。 |
Z
zengyawen 已提交
33 34 35

**返回值:**

Z
zengyawen 已提交
36 37
| 类型 | 说明 |
| -------- | -------- |
38
| string | 系统参数值,若key不存在,返回默认值。若未指定默认值,返回空字符串。 |
Z
zengyawen 已提交
39 40 41

**示例:**

Y
yichengzhao 已提交
42
```ts
Z
zengyawen 已提交
43
try {
44
    var info = parameter.getSync("const.ohos.apiversion");
Z
zengyawen 已提交
45 46 47 48 49 50 51
    console.log(JSON.stringify(info));
}catch(e){
    console.log("getSync unexpected error: " + e);
}
```


Z
zengyawen 已提交
52 53
## parameter.get

54
get(key: string, callback: AsyncCallback<string>): void
Z
zengyawen 已提交
55

56
获取系统参数Key对应的值。
Z
zengyawen 已提交
57

C
chen_jie 已提交
58
**系统能力:** SystemCapability.Startup.SystemInfo
Z
zengyawen 已提交
59

Z
zengyawen 已提交
60 61
**参数:**

Z
zengyawen 已提交
62 63
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
64
| key | string | 是 | 待查询的系统参数Key。 |
Z
zengyawen 已提交
65
| callback | AsyncCallback<string> | 是 | 回调函数。 |
Z
zengyawen 已提交
66 67 68

**示例:**

Y
yichengzhao 已提交
69
```ts
Z
zengyawen 已提交
70
try {
71
    parameter.get("const.ohos.apiversion", function (err, data) {
Z
zengyawen 已提交
72 73 74 75 76 77 78 79 80 81 82
    if (err == undefined) {
        console.log("get test.parameter.key value success:" + data)
    } else {
        console.log(" get test.parameter.key value err:" + err.code)
    }});
}catch(e){
    console.log("get unexpected error: " + e);
}
```


Z
zengyawen 已提交
83 84
## parameter.get

85
get(key: string, def: string, callback: AsyncCallback<string>): void
Z
zengyawen 已提交
86

87
获取系统参数Key对应的值。
Z
zengyawen 已提交
88

C
chen_jie 已提交
89
**系统能力:** SystemCapability.Startup.SystemInfo
Z
zengyawen 已提交
90

Z
zengyawen 已提交
91 92
**参数:**

Z
zengyawen 已提交
93 94
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
95
| key | string | 是 | 待查询的系统参数Key。 |
Z
zengyawen 已提交
96 97
| def | string | 是 | 默认值。 |
| callback | AsyncCallback<string> | 是 | 回调函数。 |
Z
zengyawen 已提交
98 99 100

**示例:**

Y
yichengzhao 已提交
101
```ts
Z
zengyawen 已提交
102
try {
103
    parameter.get("const.ohos.apiversion", "default", function (err, data) {
Z
zengyawen 已提交
104 105 106 107 108 109 110 111 112 113 114 115
        if (err == undefined) {
            console.log("get test.parameter.key value success:" + data)
        } else {
            console.log(" get test.parameter.key value err:" + err.code)
        }
    });
}catch(e){
    console.log("get unexpected error:" + e)
}
```


Z
zengyawen 已提交
116 117
## parameter.get

118
get(key: string, def?: string): Promise<string>
Z
zengyawen 已提交
119

120
获取系统参数Key对应的值。
Z
zengyawen 已提交
121

C
chen_jie 已提交
122
**系统能力:** SystemCapability.Startup.SystemInfo
Z
zengyawen 已提交
123

Z
zengyawen 已提交
124 125
**参数:**

Z
zengyawen 已提交
126 127
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
128
| key | string | 是 | 待查询的系统参数Key。 |
Z
zengyawen 已提交
129
| def | string | 否 | 默认值。 |
Z
zengyawen 已提交
130 131 132

**返回值:**

Z
zengyawen 已提交
133 134 135
| 类型 | 说明 |
| -------- | -------- |
| Promise<string> | Promise示例,用于异步获取结果。 |
Z
zengyawen 已提交
136 137 138

**示例:**

Y
yichengzhao 已提交
139
```ts
Z
zengyawen 已提交
140
try {
141
    var p = parameter.get("const.ohos.apiversion");
Z
zengyawen 已提交
142 143 144 145 146 147 148 149 150 151 152
    p.then(function (value) {
        console.log("get test.parameter.key success: " + value);
    }).catch(function (err) {
        console.log("get test.parameter.key error: " + err.code);
    });
}catch(e){
    console.log("get unexpected error: " + e);
}
```


Z
zengyawen 已提交
153 154
## parameter.setSync

155
setSync(key: string, value: string): void
Z
zengyawen 已提交
156

157
设置系统参数Key对应的值。
Z
zengyawen 已提交
158

C
chen_jie 已提交
159
**系统能力:** SystemCapability.Startup.SystemInfo
Z
zengyawen 已提交
160

Z
zengyawen 已提交
161 162
**参数:**

Z
zengyawen 已提交
163 164
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
165 166
| key | string | 是 | 待设置的系统参数Key。 |
| value | string | 是 | 待设置的系统参数值。 |
Z
zengyawen 已提交
167 168 169

**示例:**

Y
yichengzhao 已提交
170
```ts
Z
zengyawen 已提交
171 172 173 174 175 176 177 178
try {
    parameter.setSync("test.parameter.key", "default");
}catch(e){
    console.log("set unexpected error: " + e);
}
```


179
## parameter.set
Z
zengyawen 已提交
180

181
set(key: string, value: string, callback: AsyncCallback<void>): void
Z
zengyawen 已提交
182

183
设置系统参数Key对应的值。
Z
zengyawen 已提交
184

C
chen_jie 已提交
185
**系统能力:** SystemCapability.Startup.SystemInfo
Z
zengyawen 已提交
186

Z
zengyawen 已提交
187 188
**参数:**

Z
zengyawen 已提交
189 190
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
191 192
| key | string | 是 | 待设置的系统参数Key。 |
| value | string | 是 | 待设置的系统参数值。 |
Z
zengyawen 已提交
193
| callback | AsyncCallback<void> | 是 | 回调函数。 |
Z
zengyawen 已提交
194 195 196

**示例:**

Y
yichengzhao 已提交
197
```ts
Z
zengyawen 已提交
198 199 200 201 202 203 204 205 206 207 208 209 210
try {
    parameter.set("test.parameter.key", "testValue", function (err, data) {
    if (err == undefined) {
        console.log("set test.parameter.key value success :" + data)
    } else {
        console.log("set test.parameter.key value err:" + err.code)
    }});
}catch(e){
    console.log("set unexpected error: " + e);
}
```


211
## parameter.set
Z
zengyawen 已提交
212

213
set(key: string, value: string): Promise<void>
Z
zengyawen 已提交
214

215
设置系统参数Key对应的值。
Z
zengyawen 已提交
216

C
chen_jie 已提交
217
**系统能力:** SystemCapability.Startup.SystemInfo
Z
zengyawen 已提交
218

Z
zengyawen 已提交
219 220
**参数:**

Z
zengyawen 已提交
221 222
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
223 224
| key | string | 是 | 待设置的系统参数Key。 |
| value| string | 是 | 待设置的系统参数值。 |
Z
zengyawen 已提交
225 226 227

**返回值:**

Z
zengyawen 已提交
228 229
| 类型 | 说明 |
| -------- | -------- |
230
| Promise<void> | Promise示例,用于异步获取结果。 |
Z
zengyawen 已提交
231 232 233

**示例:**

Y
yichengzhao 已提交
234
```ts
Z
zengyawen 已提交
235 236 237 238 239 240 241 242 243 244 245
try {
    var p = para.set("test.parameter.key", "testValue");
    p.then(function (value) {
        console.log("set test.parameter.key success: " + value);
    }).catch(function (err) {
        console.log(" set test.parameter.key error: " + err.code);
    });
}catch(e){
    console.log("set unexpected error: " + e);
}
```