1# @ohos.systemParameter (系统属性) 2 3系统参数(SystemParameter)是为各系统服务提供的简单易用的键值对访问接口,各个系统服务可以定义系统参数来描述该服务的状态信息,或者通过系统参数来改变系统服务的行为。其基本操作原语为get和set,通过get可以查询系统参数的值,通过set可以修改系统参数的值。 4详细的系统参数设计原理及定义可参考 5[系统参数](../../../device-dev/subsystems/subsys-boot-init-sysparam.md)。 6 7> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** 8> - 本模块接口从API version 9开始不再维护,建议使用新接口[`@ohos.systemParameterEnhance`](js-apis-system-parameterEnhance.md)替代。 9> - 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 10> - 本模块接口为系统接口。 11> - 由于系统参数都是各个系统服务的内部信息和控制参数,每个系统参数都有各自不同的DAC和MAC访问控制权限,三方应用不能使用此类接口。 12 13 14## 导入模块 15 16```ts 17import systemparameter from '@ohos.systemparameter' 18``` 19 20## systemparameter.getSync<sup>(deprecated)</sup> 21 22getSync(key: string, def?: string): string 23 24获取系统参数Key对应的值。 25 26**系统能力:** SystemCapability.Startup.SystemInfo 27 28**参数:** 29 30| 参数名 | 类型 | 必填 | 说明 | 31| -------- | -------- | -------- | -------- | 32| key | string | 是 | 待查询的系统参数Key。 | 33| def | string | 否 | 默认值。 | 34 35**返回值:** 36 37| 类型 | 说明 | 38| -------- | -------- | 39| string | 系统参数值,若key不存在,返回默认值。若未指定默认值,返回空字符串。 | 40 41**示例:** 42 43```ts 44try { 45 var info = systemparameter.getSync("const.ohos.apiversion"); 46 console.log(JSON.stringify(info)); 47}catch(e){ 48 console.log("getSync unexpected error: " + e); 49} 50``` 51 52## systemparameter.get<sup>(deprecated)</sup> 53 54get(key: string, callback: AsyncCallback<string>): void 55 56获取系统参数Key对应的值。 57 58**系统能力:** SystemCapability.Startup.SystemInfo 59 60**参数:** 61 62| 参数名 | 类型 | 必填 | 说明 | 63| -------- | -------- | -------- | -------- | 64| key | string | 是 | 待查询的系统参数Key。 | 65| callback | AsyncCallback<string> | 是 | 回调函数。 | 66 67**示例:** 68 69```ts 70try { 71 systemparameter.get("const.ohos.apiversion", function (err, data) { 72 if (err == undefined) { 73 console.log("get test.parameter.key value success:" + data) 74 } else { 75 console.log(" get test.parameter.key value err:" + err.code) 76 }}); 77}catch(e){ 78 console.log("get unexpected error: " + e); 79} 80``` 81 82## systemparameter.get<sup>(deprecated)</sup> 83 84get(key: string, def: string, callback: AsyncCallback<string>): void 85 86获取系统参数Key对应的值。 87 88**系统能力:** SystemCapability.Startup.SystemInfo 89 90**参数:** 91 92| 参数名 | 类型 | 必填 | 说明 | 93| -------- | -------- | -------- | -------- | 94| key | string | 是 | 待查询的系统参数Key。 | 95| def | string | 是 | 默认值。 | 96| callback | AsyncCallback<string> | 是 | 回调函数。 | 97 98**示例:** 99 100```ts 101try { 102 systemparameter.get("const.ohos.apiversion", "default", function (err, data) { 103 if (err == undefined) { 104 console.log("get test.parameter.key value success:" + data) 105 } else { 106 console.log(" get test.parameter.key value err:" + err.code) 107 } 108 }); 109}catch(e){ 110 console.log("get unexpected error:" + e) 111} 112``` 113 114## systemparameter.get<sup>(deprecated)</sup> 115 116get(key: string, def?: string): Promise<string> 117 118获取系统参数Key对应的值。 119 120**系统能力:** SystemCapability.Startup.SystemInfo 121 122**参数:** 123 124| 参数名 | 类型 | 必填 | 说明 | 125| -------- | -------- | -------- | -------- | 126| key | string | 是 | 待查询的系统参数Key。 | 127| def | string | 否 | 默认值。 | 128 129**返回值:** 130 131| 类型 | 说明 | 132| -------- | -------- | 133| Promise<string> | Promise示例,用于异步获取结果。 | 134 135**示例:** 136 137```ts 138try { 139 var p = systemparameter.get("const.ohos.apiversion"); 140 p.then(function (value) { 141 console.log("get test.parameter.key success: " + value); 142 }).catch(function (err) { 143 console.log("get test.parameter.key error: " + err.code); 144 }); 145}catch(e){ 146 console.log("get unexpected error: " + e); 147} 148``` 149 150## systemparameter.setSync<sup>(deprecated)</sup> 151 152setSync(key: string, value: string): void 153 154设置系统参数Key对应的值。 155 156**系统能力:** SystemCapability.Startup.SystemInfo 157 158**参数:** 159 160| 参数名 | 类型 | 必填 | 说明 | 161| -------- | -------- | -------- | -------- | 162| key | string | 是 | 待设置的系统参数Key。 | 163| value | string | 是 | 待设置的系统参数值。 | 164 165> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** 166> - 此接口只能用于系统应用的参数设置。 167> - 所授权的系统应用需要配置对应selinux和dac规则,具体配置方法请参照系统参数指导文档:[系统参数](../../../device-dev/subsystems/subsys-boot-init-sysparam.md)。 168 169 170**示例:** 171 172```ts 173try { 174 systemparameter.setSync("test.parameter.key", "default"); 175}catch(e){ 176 console.log("set unexpected error: " + e); 177} 178``` 179 180## systemparameter.set<sup>(deprecated)</sup> 181 182set(key: string, value: string, callback: AsyncCallback<void>): void 183 184设置系统参数Key对应的值。 185 186**系统能力:** SystemCapability.Startup.SystemInfo 187 188**参数:** 189 190| 参数名 | 类型 | 必填 | 说明 | 191| -------- | -------- | -------- | -------- | 192| key | string | 是 | 待设置的系统参数Key。 | 193| value | string | 是 | 待设置的系统参数值。 | 194| callback | AsyncCallback<void> | 是 | 回调函数。 | 195 196> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** 197> - 此接口只能用于系统应用的参数设置。 198> - 所授权的系统应用需要配置对应selinux和dac规则,具体配置方法请参照系统参数指导文档:[系统参数](../../../device-dev/subsystems/subsys-boot-init-sysparam.md)。 199 200**示例:** 201 202```ts 203try { 204 systemparameter.set("test.parameter.key", "testValue", function (err, data) { 205 if (err == undefined) { 206 console.log("set test.parameter.key value success :" + data) 207 } else { 208 console.log("set test.parameter.key value err:" + err.code) 209 }}); 210}catch(e){ 211 console.log("set unexpected error: " + e); 212} 213``` 214 215## systemparameter.set<sup>(deprecated)</sup> 216 217set(key: string, value: string): Promise<void> 218 219设置系统参数Key对应的值。 220 221**系统能力:** SystemCapability.Startup.SystemInfo 222 223**参数:** 224 225| 参数名 | 类型 | 必填 | 说明 | 226| -------- | -------- | -------- | -------- | 227| key | string | 是 | 待设置的系统参数Key。 | 228| value| string | 是 | 待设置的系统参数值。 | 229 230**返回值:** 231 232| 类型 | 说明 | 233| -------- | -------- | 234| Promise<void> | Promise示例,用于异步获取结果。 | 235 236> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** 237> - 此接口只能用于系统应用的参数设置。 238> - 所授权的系统应用需要配置对应selinux和dac规则,具体配置方法请参照系统参数指导文档:[系统参数](../../../device-dev/subsystems/subsys-boot-init-sysparam.md) 239 240**示例:** 241 242```ts 243try { 244 var p = systemparameter.set("test.parameter.key", "testValue"); 245 p.then(function (value) { 246 console.log("set test.parameter.key success: " + value); 247 }).catch(function (err) { 248 console.log(" set test.parameter.key error: " + err.code); 249 }); 250}catch(e){ 251 console.log("set unexpected error: " + e); 252} 253``` 254