• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.enterprise.deviceSettings (设备设置管理)(系统接口)
2<!--Kit: MDM Kit-->
3<!--Subsystem: Customization-->
4<!--Owner: @huanleima-->
5<!--Designer: @liuzuming-->
6<!--Tester: @lpw_work-->
7<!--Adviser: @Brilliantry_Rui-->
8
9本模块提供企业设备设置能力,包括获取设备息屏时间等。
10
11> **说明:**
12>
13> 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
14>
15> 本模块接口仅可在Stage模型下使用。
16>
17> 本模块接口仅对[设备管理应用](../../mdm/mdm-kit-term.md#mdm应用设备管理应用)开放,需将[设备管理应用激活](js-apis-enterprise-adminManager-sys.md#adminmanagerenableadmin-2)后调用。
18>
19> 当前页面仅包含本模块的系统接口,其他公开接口参见[@ohos.enterprise.deviceSettings](js-apis-enterprise-deviceSettings.md)。
20
21## 导入模块
22
23```ts
24import { deviceSettings } from '@kit.MDMKit';
25```
26
27## deviceSettings.setScreenOffTime<sup>11+</sup>
28
29setScreenOffTime(admin: Want, time: number): void
30
31设置设备息屏时间。
32
33**需要权限:** ohos.permission.ENTERPRISE_SET_SCREENOFF_TIME
34
35**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
36
37**模型约束:** 此接口仅可在Stage模型下使用。
38
39**系统接口:** 此接口为系统接口。
40
41**参数:**
42
43| 参数名      | 类型                                       | 必填   | 说明                       |
44| -------- | ---------------------------------------- | ---- | ------------------------------- |
45| admin    | [Want](../apis-ability-kit/js-apis-app-ability-want.md)     | 是    | 企业设备管理扩展组件。     |
46| time | number            | 是    | 设备息屏时间(单位:毫秒,建议参数与设备可选息屏时间保持一致)。       |
47
48**错误码**:
49
50以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
51
52| 错误码ID | 错误信息                                                                       |
53| ------- | ---------------------------------------------------------------------------- |
54| 9200001 | The application is not an administrator application of the device.            |
55| 9200002 | The administrator application does not have permission to manage the device. |
56| 201 | Permission verification failed. The application does not have the permission required to call the API. |
57| 202 | Permission verification failed. A non-system application calls a system API. |
58| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
59
60**示例:**
61
62```ts
63import { deviceSettings } from '@kit.MDMKit';
64import { Want } from '@kit.AbilityKit';
65
66let wantTemp: Want = {
67  // 需根据实际情况进行替换
68  bundleName: 'com.example.myapplication',
69  abilityName: 'EntryAbility'
70};
71try {
72  // 参数需根据实际情况进行替换
73  deviceSettings.setScreenOffTime(wantTemp, 30000);
74  console.info(`Succeeded in setting screen off time`);
75} catch(err) {
76  console.error(`Failed to set screen off time. Code: ${err.code}, message: ${err.message}`);
77}
78```
79
80## deviceSettings.getScreenOffTime
81
82getScreenOffTime(admin: Want, callback: AsyncCallback&lt;number&gt;): void
83
84获取设备息屏时间,使用callback异步回调。
85
86**需要权限:** ohos.permission.ENTERPRISE_GET_SETTINGS
87
88**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
89
90**模型约束:** 此接口仅可在Stage模型下使用。
91
92**系统接口:** 此接口为系统接口。
93
94**参数:**
95
96| 参数名      | 类型                                       | 必填   | 说明                       |
97| -------- | ---------------------------------------- | ---- | ------------------------------- |
98| admin    | [Want](../apis-ability-kit/js-apis-app-ability-want.md)     | 是    | 企业设备管理扩展组件。            |
99| callback | AsyncCallback&lt;number&gt;            | 是    | 回调函数。当接口调用成功,err为null,data为设备息屏时间(单位:毫秒),否则err为错误对象。       |
100
101**错误码**:
102
103以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
104
105| 错误码ID | 错误信息                                                                       |
106| ------- | ---------------------------------------------------------------------------- |
107| 9200001 | The application is not an administrator application of the device.            |
108| 9200002 | The administrator application does not have permission to manage the device. |
109| 201 | Permission verification failed. The application does not have the permission required to call the API. |
110| 202 | Permission verification failed. A non-system application calls a system API. |
111| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
112
113**示例:**
114
115```ts
116import { deviceSettings } from '@kit.MDMKit';
117import { Want } from '@kit.AbilityKit';
118
119let wantTemp: Want = {
120  // 需根据实际情况进行替换
121  bundleName: 'com.example.myapplication',
122  abilityName: 'EntryAbility'
123};
124
125deviceSettings.getScreenOffTime(wantTemp, (err, result) => {
126  if (err) {
127    console.error(`Failed to get screen off time. Code: ${err.code}, message: ${err.message}`);
128    return;
129  }
130  console.info(`Succeeded in getting screen off time, result : ${result}`);
131});
132```
133
134## deviceSettings.getScreenOffTime
135
136getScreenOffTime(admin: Want): Promise&lt;number&gt;
137
138获取设备息屏时间,使用Promise异步回调。
139
140**需要权限:** ohos.permission.ENTERPRISE_GET_SETTINGS
141
142**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
143
144**模型约束:** 此接口仅可在Stage模型下使用。
145
146**系统接口:** 此接口为系统接口。
147
148**参数:**
149
150| 参数名 | 类型                                                    | 必填 | 说明                   |
151| ------ | ------------------------------------------------------- | ---- | ---------------------- |
152| admin  | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是   | 企业设备管理扩展组件。 |
153
154**返回值:**
155
156| 类型                   | 说明                      |
157| --------------------- | ------------------------- |
158| Promise&lt;number&gt; | Promise对象,返回设备息屏时间(单位:毫秒)。  |
159
160**错误码**:
161
162以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
163
164| 错误码ID | 错误信息                                                                     |
165| ------- | ---------------------------------------------------------------------------- |
166| 9200001 | The application is not an administrator application of the device.            |
167| 9200002 | The administrator application does not have permission to manage the device. |
168| 201 | Permission verification failed. The application does not have the permission required to call the API. |
169| 202 | Permission verification failed. A non-system application calls a system API. |
170| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
171
172**示例:**
173
174```ts
175import { deviceSettings } from '@kit.MDMKit';
176import { Want } from '@kit.AbilityKit';
177import { BusinessError } from '@kit.BasicServicesKit';
178
179let wantTemp: Want = {
180  // 需根据实际情况进行替换
181  bundleName: 'com.example.myapplication',
182  abilityName: 'EntryAbility'
183};
184
185deviceSettings.getScreenOffTime(wantTemp).then((result) => {
186  console.info(`Succeeded in getting screen off time, result : ${result}`);
187}).catch((err: BusinessError) => {
188  console.error(`Failed to get screen off time. Code: ${err.code}, message: ${err.message}`);
189});
190```
191
192## deviceSettings.installUserCertificate
193
194installUserCertificate(admin: Want, certificate: CertBlob, callback: AsyncCallback&lt;string&gt;): void
195
196安装用户证书,使用callback异步回调。
197
198**需要权限:** ohos.permission.ENTERPRISE_MANAGE_CERTIFICATE
199
200**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
201
202**模型约束:** 此接口仅可在Stage模型下使用。
203
204**系统接口:** 此接口为系统接口。
205
206**参数:**
207
208| 参数名      | 类型                                       | 必填   | 说明                       |
209| -------- | ---------------------------------------- | ---- | ------------------------------- |
210| admin    | [Want](../apis-ability-kit/js-apis-app-ability-want.md)     | 是    | 企业设备管理扩展组件。            |
211| certificate    | [CertBlob](#certblob)     | 是    | 证书信息。证书文件应放在应用沙箱路径等应用有权限访问的路径下。 |
212| callback | AsyncCallback&lt;string&gt;            | 是    | 回调函数,当接口调用成功,err为null,否则为错误对象。      |
213
214**错误码**:
215
216以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
217
218| 错误码ID | 错误信息                                                                       |
219| ------- | ---------------------------------------------------------------------------- |
220| 9200001 | The application is not an administrator application of the device.            |
221| 9200002 | The administrator application does not have permission to manage the device. |
222| 9201001 | Failed to manage the certificate. |
223| 201 | Permission verification failed. The application does not have the permission required to call the API. |
224| 202 | Permission verification failed. A non-system application calls a system API. |
225| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
226
227**示例:**
228
229<!--code_no_check-->
230```ts
231import { deviceSettings } from '@kit.MDMKit';
232import { common, Want } from '@kit.AbilityKit';
233import { BusinessError } from '@kit.BasicServicesKit';
234
235let wantTemp: Want = {
236  // 需根据实际情况进行替换
237  bundleName: 'com.example.myapplication',
238  abilityName: 'EntryAbility'
239};
240let certFileArray: Uint8Array = new Uint8Array();
241// 变量context需要在MainAbility的onCreate回调函数中进行初始化
242// test.cer需要放置在rawfile目录下
243// 请在组件内获取context,确保this.getUIContext().getHostContext()返回结果为UIAbilityContext
244const context = this.getUIContext().getHostContext() as common.UIAbilityContext;
245context.resourceManager.getRawFileContent("test.cer").then((value) => {
246  certFileArray = value;
247  deviceSettings.installUserCertificate(wantTemp, { inData: certFileArray, alias: "cert_alias_xts" }, (err, result) => {
248    if (err) {
249      console.error(`Failed to install user certificate. Code: ${err.code}, message: ${err.message}`);
250    } else {
251      console.info(`Succeeded in installing user certificate, result : ${JSON.stringify(result)}`);
252    }
253  });
254}).catch((error: BusinessError) => {
255  console.error(`Failed to get row file content. message: ${error.message}`);
256  return;
257});
258```
259
260## deviceSettings.installUserCertificate
261
262installUserCertificate(admin: Want, certificate: CertBlob): Promise&lt;string&gt;
263
264安装用户证书,使用Promise异步回调。
265
266**需要权限:** ohos.permission.ENTERPRISE_MANAGE_CERTIFICATE
267
268**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
269
270**模型约束:** 此接口仅可在Stage模型下使用。
271
272**系统接口:** 此接口为系统接口。
273
274**参数:**
275
276| 参数名   | 类型                                  | 必填   | 说明      |
277| ----- | ----------------------------------- | ---- | ------- |
278| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是    | 企业设备管理扩展组件。 |
279| certificate    | [CertBlob](#certblob)     | 是    | 证书信息。证书文件应放在应用沙箱路径等应用有权限访问的路径下。 |
280
281**返回值:**
282
283| 类型                   | 说明                      |
284| --------------------- | ------------------------- |
285| Promise&lt;string&gt; | Promise对象,返回当前证书安装后的uri,用于卸载证书。 |
286
287**错误码**:
288
289以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
290
291| 错误码ID | 错误信息                                                                     |
292| ------- | ---------------------------------------------------------------------------- |
293| 9200001 | The application is not an administrator application of the device.            |
294| 9200002 | The administrator application does not have permission to manage the device. |
295| 9201001 | Failed to manage the certificate. |
296| 201 | Permission verification failed. The application does not have the permission required to call the API. |
297| 202 | Permission verification failed. A non-system application calls a system API. |
298| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
299
300**示例:**
301
302<!--code_no_check-->
303```ts
304import { deviceSettings } from '@kit.MDMKit';
305import { common, Want } from '@kit.AbilityKit';
306import { BusinessError } from '@kit.BasicServicesKit';
307
308let wantTemp: Want = {
309  // 需根据实际情况进行替换
310  bundleName: 'com.example.myapplication',
311  abilityName: 'EntryAbility'
312};
313let certFileArray: Uint8Array = new Uint8Array();
314// 变量context需要在MainAbility的onCreate回调函数中进行初始化
315// test.cer需要放置在rawfile目录下
316// 请在组件内获取context,确保this.getUIContext().getHostContext()返回结果为UIAbilityContext
317const context = this.getUIContext().getHostContext() as common.UIAbilityContext;
318context.resourceManager.getRawFileContent("test.cer").then((value) => {
319  certFileArray = value
320  deviceSettings.installUserCertificate(wantTemp, { inData: certFileArray, alias: "cert_alias_xts" })
321    .then((result) => {
322      console.info(`Succeeded in installing user certificate, result : ${JSON.stringify(result)}`);
323    }).catch((err: BusinessError) => {
324    console.error(`Failed to install user certificate. Code: ${err.code}, message: ${err.message}`);
325  })
326}).catch((error: BusinessError) => {
327  console.error(`Failed to get row file content. message: ${error.message}`);
328  return;
329});
330```
331
332## CertBlob
333
334证书信息。
335
336**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
337
338| 名称         | 类型     | 只读 | 可选 | 说明                            |
339| ----------- | --------| ----- | ---- | ------------------------------- |
340| inData | Uint8Array | 否 | 否 |证书的二进制内容。 |
341| alias | string | 否 | 否 |证书别名。 |
342
343## deviceSettings.uninstallUserCertificate
344
345uninstallUserCertificate(admin: Want, certUri: string, callback: AsyncCallback&lt;void&gt;): void
346
347卸载用户证书,使用callback异步回调。
348
349**需要权限:** ohos.permission.ENTERPRISE_MANAGE_CERTIFICATE
350
351**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
352
353**模型约束:** 此接口仅可在Stage模型下使用。
354
355**系统接口:** 此接口为系统接口。
356
357**参数:**
358
359| 参数名      | 类型                                       | 必填   | 说明                       |
360| -------- | ---------------------------------------- | ---- | ------------------------------- |
361| admin    | [Want](../apis-ability-kit/js-apis-app-ability-want.md)     | 是    | 企业设备管理扩展组件。            |
362| certUri    | string    | 是    | 证书uri,由安装用户证书接口[installUserCertificate](#devicesettingsinstallusercertificate)设置返回。 |
363| callback | AsyncCallback&lt;void&gt;            | 是    | 回调函数,当接口调用成功,err为null,否则为错误对象。      |
364
365**错误码**:
366
367以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
368
369| 错误码ID | 错误信息                                                                       |
370| ------- | ---------------------------------------------------------------------------- |
371| 9200001 | The application is not an administrator application of the device.            |
372| 9200002 | The administrator application does not have permission to manage the device. |
373| 9201001 | Failed to manage the certificate. |
374| 201 | Permission verification failed. The application does not have the permission required to call the API. |
375| 202 | Permission verification failed. A non-system application calls a system API. |
376| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
377
378**示例:**
379
380```ts
381import { deviceSettings } from '@kit.MDMKit';
382import { Want } from '@kit.AbilityKit';
383
384let wantTemp: Want = {
385  // 需根据实际情况进行替换
386  bundleName: 'com.example.myapplication',
387  abilityName: 'EntryAbility'
388};
389// 需根据实际情况进行替换
390let aliasStr = "certName";
391deviceSettings.uninstallUserCertificate(wantTemp, aliasStr, (err) => {
392  if (err) {
393    console.error(`Failed to uninstall user certificate. Code: ${err.code}, message: ${err.message}`);
394    return;
395  }
396  console.info(`Succeeded in uninstalling user certificate`);
397});
398```
399
400## deviceSettings.uninstallUserCertificate
401
402uninstallUserCertificate(admin: Want, certUri: string): Promise&lt;void&gt;
403
404卸载用户证书,使用Promise异步回调。
405
406**需要权限:** ohos.permission.ENTERPRISE_MANAGE_CERTIFICATE
407
408**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
409
410**模型约束:** 此接口仅可在Stage模型下使用。
411
412**系统接口:** 此接口为系统接口。
413
414**参数:**
415
416| 参数名   | 类型                                  | 必填   | 说明      |
417| ----- | ----------------------------------- | ---- | ------- |
418| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是    | 企业设备管理扩展组件。 |
419| certUri    | string     | 是    | 证书uri,由安装用户证书接口[installUserCertificate](#devicesettingsinstallusercertificate-1)设置返回。 |
420
421**返回值:**
422
423| 类型                   | 说明                      |
424| --------------------- | ------------------------- |
425| Promise&lt;void&gt; | 无返回结果的Promise对象。当卸载用户证书失败时会抛出错误对象。 |
426
427**错误码**:
428
429以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
430
431| 错误码ID | 错误信息                                                                     |
432| ------- | ---------------------------------------------------------------------------- |
433| 9200001 | The application is not an administrator application of the device.            |
434| 9200002 | The administrator application does not have permission to manage the device. |
435| 9201001 | Failed to manage the certificate. |
436| 201 | Permission verification failed. The application does not have the permission required to call the API. |
437| 202 | Permission verification failed. A non-system application calls a system API. |
438| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
439
440**示例:**
441
442```ts
443import { deviceSettings } from '@kit.MDMKit';
444import { Want } from '@kit.AbilityKit';
445import { BusinessError } from '@kit.BasicServicesKit';
446
447let wantTemp: Want = {
448  // 需根据实际情况进行替换
449  bundleName: 'com.example.myapplication',
450  abilityName: 'EntryAbility'
451};
452// 需根据实际情况进行替换
453let aliasStr = "certName"
454deviceSettings.uninstallUserCertificate(wantTemp, aliasStr).then(() => {
455  console.info(`Succeeded in uninstalling user certificate`);
456}).catch((err: BusinessError) => {
457  console.error(`Failed to uninstall user certificate. Code is ${err.code}, message is ${err.message}`);
458});
459```
460
461## deviceSettings.setPowerPolicy<sup>11+</sup>
462
463setPowerPolicy(admin: Want, powerScene: PowerScene, powerPolicy: PowerPolicy): void
464
465设置电源策略。
466
467**需要权限:** ohos.permission.ENTERPRISE_MANAGE_SETTINGS
468
469**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
470
471**模型约束:** 此接口仅可在Stage模型下使用。
472
473**系统接口:** 此接口为系统接口。
474
475**参数:**
476
477| 参数名      | 类型                                       | 必填   | 说明                       |
478| -------- | ---------------------------------------- | ---- | ------------------------------- |
479| admin    | [Want](../apis-ability-kit/js-apis-app-ability-want.md)     | 是    | 企业设备管理扩展组件。            |
480| powerScene | [PowerScene](#powerscene11) | 是    | 电源策略场景,当前只支持超时场景。       |
481| powerPolicy | [PowerPolicy](#powerpolicy11) | 是    | 电源策略。       |
482
483**错误码**:
484
485以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
486
487| 错误码ID | 错误信息                                                                       |
488| ------- | ---------------------------------------------------------------------------- |
489| 9200001 | The application is not an administrator application of the device.            |
490| 9200002 | The administrator application does not have permission to manage the device. |
491| 201 | Permission verification failed. The application does not have the permission required to call the API. |
492| 202 | Permission verification failed. A non-system application calls a system API. |
493| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
494
495**示例:**
496
497```ts
498import { deviceSettings } from '@kit.MDMKit';
499import { Want } from '@kit.AbilityKit';
500
501let wantTemp: Want = {
502  // 需根据实际情况进行替换
503  bundleName: 'com.example.myapplication',
504  abilityName: 'EntryAbility'
505};
506try {
507  let delayTime = 0;
508  let powerScene: deviceSettings.PowerScene = deviceSettings.PowerScene.TIME_OUT;
509  let powerPolicyAction: deviceSettings.PowerPolicyAction = deviceSettings.PowerPolicyAction.AUTO_SUSPEND;
510  let powerPolicy: deviceSettings.PowerPolicy = {powerPolicyAction, delayTime};
511  deviceSettings.setPowerPolicy(wantTemp, powerScene, powerPolicy);
512  console.info(`Succeeded in setting power polilcy`);
513} catch (err) {
514  console.error(`Failed to set power policy. Code: ${err.code}, message: ${err.message}`);
515}
516```
517
518## deviceSettings.getPowerPolicy<sup>11+</sup>
519
520getPowerPolicy(admin: Want, powerScene: PowerScene): PowerPolicy
521
522获取电源策略。
523
524**需要权限:** ohos.permission.ENTERPRISE_MANAGE_SETTINGS
525
526**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
527
528**模型约束:** 此接口仅可在Stage模型下使用。
529
530**系统接口:** 此接口为系统接口。
531
532**参数:**
533
534| 参数名      | 类型                                       | 必填   | 说明                       |
535| -------- | ---------------------------------------- | ---- | ------------------------------- |
536| admin    | [Want](../apis-ability-kit/js-apis-app-ability-want.md)     | 是    | 企业设备管理扩展组件。            |
537| powerScene | [PowerScene](#powerscene11) | 是    | 电源策略场景,当前只支持超时场景。       |
538
539**返回值:**
540
541| 类型   | 说明        |
542| ----- | --------------------------------- |
543| [PowerPolicy](#powerpolicy11) | 电源策略。       |
544
545**错误码**:
546
547以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
548
549| 错误码ID | 错误信息                                                                       |
550| ------- | ---------------------------------------------------------------------------- |
551| 9200001 | The application is not an administrator application of the device.            |
552| 9200002 | The administrator application does not have permission to manage the device. |
553| 201 | Permission verification failed. The application does not have the permission required to call the API. |
554| 202 | Permission verification failed. A non-system application calls a system API. |
555| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
556
557**示例:**
558
559```ts
560import { deviceSettings } from '@kit.MDMKit';
561import { Want } from '@kit.AbilityKit';
562
563let wantTemp: Want = {
564  // 需根据实际情况进行替换
565  bundleName: 'com.example.myapplication',
566  abilityName: 'EntryAbility'
567};
568try {
569  let powerScene: deviceSettings.PowerScene = deviceSettings.PowerScene.TIME_OUT;
570  let powerPolicy: deviceSettings.PowerPolicy = deviceSettings.getPowerPolicy(wantTemp, powerScene);
571  console.info(`Succeeded in getting power policy ${JSON.stringify(powerPolicy)}`);
572} catch (err) {
573  console.error(`Failed to get power policy. Code: ${err.code}, message: ${err.message}`);
574}
575```
576
577## PowerPolicy<sup>11+</sup>
578
579电源策略。
580
581**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
582
583**系统接口:** 此接口为系统接口。
584
585| 名称         | 类型     | 只读 | 可选 | 说明                            |
586| ----------- | --------| ----- | ---- | ------------------------------- |
587| powerPolicyAction | [PowerPolicyAction](#powerpolicyaction11) | 否 | 否 | 执行电源策略的动作。 |
588| delayTime | number | 否 | 否 | 延迟时间(单位:毫秒)。|
589
590## PowerScene<sup>11+</sup>
591
592执行电源策略的场景。
593
594**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
595
596**系统接口:** 此接口为系统接口。
597
598| 名称 | 值 | 说明 |
599| -------- | -------- | -------- |
600| TIME_OUT | 0 | 超时场景。 |
601
602## PowerPolicyAction<sup>11+</sup>
603
604执行电源策略的动作。
605
606**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
607
608**系统接口:** 此接口为系统接口。
609
610| 名称 | 值 | 说明 |
611| -------- | -------- | -------- |
612| NONE | 0 | 不执行动作。 |
613| AUTO_SUSPEND | 1 | 自动进入睡眠。 |
614| FORCE_SUSPEND | 2 | 强制进入睡眠。 |
615| HIBERNATE | 3 | 进入休眠。(当前电源子系统暂不支持) |
616| SHUTDOWN | 4 | 关机。 |
617