js-apis-system-parameter.md 7.4 KB
Newer Older
1
# @ohos.systemParameter (系统属性)
Z
zengyawen 已提交
2

3 4 5
系统参数(SystemParameter)是为各系统服务提供的简单易用的键值对访问接口,各个系统服务可以定义系统参数来描述该服务的状态信息,或者通过系统参数来改变系统服务的行为。其基本操作原语为get和set,通过get可以查询系统参数的值,通过set可以修改系统参数的值。
详细的系统参数设计原理及定义可参考
[系统参数](../../../device-dev/subsystems/subsys-boot-init-sysparam.md)
6

zyjhandsome's avatar
zyjhandsome 已提交
7
> **说明:**
Z
zengyawen 已提交
8
> - 本模块接口从API version 9开始不再维护,建议使用新接口[`@ohos.systemParameterEnhance`](js-apis-system-parameterEnhance.md)替代。
Z
zengyawen 已提交
9
> - 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
10
> - 本模块接口为系统接口。
11 12 13
> - 由于系统参数都是各个系统服务的内部信息和控制参数,每个系统参数都有各自不同的DAC和MAC访问控制权限,三方应用不能使用此类接口。


Z
zengyawen 已提交
14
## 导入模块
Z
zengyawen 已提交
15

Y
yichengzhao 已提交
16
```ts
17
import systemparameter from '@ohos.systemparameter'
Z
zengyawen 已提交
18 19
```

C
cheng_jinsong 已提交
20
## systemparameter.getSync<sup>(deprecated)</sup>
Z
zengyawen 已提交
21

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

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

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

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

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

**返回值:**

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

**示例:**

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

C
cheng_jinsong 已提交
52
## systemparameter.get<sup>(deprecated)</sup>
Z
zengyawen 已提交
53

54
get(key: string, callback: AsyncCallback&lt;string&gt;): 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&lt;string&gt; | 是 | 回调函数。 |
Z
zengyawen 已提交
66 67 68

**示例:**

Y
yichengzhao 已提交
69
```ts
Z
zengyawen 已提交
70
try {
71
    systemparameter.get("const.ohos.apiversion", function (err, data) {
Z
zengyawen 已提交
72 73 74 75 76 77 78 79 80 81
    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);
}
```

C
cheng_jinsong 已提交
82
## systemparameter.get<sup>(deprecated)</sup>
Z
zengyawen 已提交
83

84
get(key: string, def: string, callback: AsyncCallback&lt;string&gt;): void
Z
zengyawen 已提交
85

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

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

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

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

**示例:**

Y
yichengzhao 已提交
100
```ts
Z
zengyawen 已提交
101
try {
102
    systemparameter.get("const.ohos.apiversion", "default", function (err, data) {
Z
zengyawen 已提交
103 104 105 106 107 108 109 110 111 112 113
        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)
}
```

C
cheng_jinsong 已提交
114
## systemparameter.get<sup>(deprecated)</sup>
Z
zengyawen 已提交
115

116
get(key: string, def?: string): Promise&lt;string&gt;
Z
zengyawen 已提交
117

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

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

Z
zengyawen 已提交
122 123
**参数:**

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

**返回值:**

Z
zengyawen 已提交
131 132 133
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;string&gt; | Promise示例,用于异步获取结果。 |
Z
zengyawen 已提交
134 135 136

**示例:**

Y
yichengzhao 已提交
137
```ts
Z
zengyawen 已提交
138
try {
139
    var p = systemparameter.get("const.ohos.apiversion");
Z
zengyawen 已提交
140 141 142 143 144 145 146 147 148 149
    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);
}
```

C
cheng_jinsong 已提交
150
## systemparameter.setSync<sup>(deprecated)</sup>
Z
zengyawen 已提交
151

152
setSync(key: string, value: string): void
Z
zengyawen 已提交
153

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

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

Z
zengyawen 已提交
158 159
**参数:**

Z
zengyawen 已提交
160 161
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
162 163
| key | string | 是 | 待设置的系统参数Key。 |
| value | string | 是 | 待设置的系统参数值。 |
Z
zengyawen 已提交
164

zyjhandsome's avatar
zyjhandsome 已提交
165
> **说明:**
166
> - 此接口只能用于系统应用的参数设置。
Z
zengyawen 已提交
167
> - 所授权的系统应用需要配置对应selinux和dac规则,具体配置方法请参照系统参数指导文档:[系统参数](../../../device-dev/subsystems/subsys-boot-init-sysparam.md)。
168 169


Z
zengyawen 已提交
170 171
**示例:**

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

C
cheng_jinsong 已提交
180
## systemparameter.set<sup>(deprecated)</sup>
Z
zengyawen 已提交
181

182
set(key: string, value: string, callback: AsyncCallback&lt;void&gt;): void
Z
zengyawen 已提交
183

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

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

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

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

zyjhandsome's avatar
zyjhandsome 已提交
196
> **说明:**
197
> - 此接口只能用于系统应用的参数设置。
Z
zengyawen 已提交
198
> - 所授权的系统应用需要配置对应selinux和dac规则,具体配置方法请参照系统参数指导文档:[系统参数](../../../device-dev/subsystems/subsys-boot-init-sysparam.md)。
199

Z
zengyawen 已提交
200 201
**示例:**

Y
yichengzhao 已提交
202
```ts
Z
zengyawen 已提交
203
try {
204
    systemparameter.set("test.parameter.key", "testValue", function (err, data) {
Z
zengyawen 已提交
205 206 207 208 209 210 211 212 213 214
    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);
}
```

C
cheng_jinsong 已提交
215
## systemparameter.set<sup>(deprecated)</sup>
Z
zengyawen 已提交
216

217
set(key: string, value: string): Promise&lt;void&gt;
Z
zengyawen 已提交
218

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

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

Z
zengyawen 已提交
223 224
**参数:**

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

**返回值:**

Z
zengyawen 已提交
232 233
| 类型 | 说明 |
| -------- | -------- |
234
| Promise&lt;void&gt; | Promise示例,用于异步获取结果。 |
Z
zengyawen 已提交
235

zyjhandsome's avatar
zyjhandsome 已提交
236
> **说明:**
237
> - 此接口只能用于系统应用的参数设置。
Z
zengyawen 已提交
238
> - 所授权的系统应用需要配置对应selinux和dac规则,具体配置方法请参照系统参数指导文档:[系统参数](../../../device-dev/subsystems/subsys-boot-init-sysparam.md)
239

Z
zengyawen 已提交
240 241
**示例:**

Y
yichengzhao 已提交
242
```ts
Z
zengyawen 已提交
243
try {
244
    var p = systemparameter.set("test.parameter.key", "testValue");
Z
zengyawen 已提交
245 246 247 248 249 250 251 252
    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);
}
C
cheng_jinsong 已提交
253
```