1e41f4b71Sopenharmony_ci# @ohos.resourceschedule.deviceStandby (设备待机模块)(系统接口)
2e41f4b71Sopenharmony_ci当设备长时间未被使用或通过按键,可以使设备进入待机模式。待机模式不影响应用使用,还可以延长电池续航时间。通过本模块接口,可查询设备或应用是否为待机模式,以及为应用申请或取消待机资源管控。
3e41f4b71Sopenharmony_ci
4e41f4b71Sopenharmony_ci>  **说明**:
5e41f4b71Sopenharmony_ci>
6e41f4b71Sopenharmony_ci> 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
7e41f4b71Sopenharmony_ci>
8e41f4b71Sopenharmony_ci> 本模块接口为系统接口。
9e41f4b71Sopenharmony_ci
10e41f4b71Sopenharmony_ci## 导入模块
11e41f4b71Sopenharmony_ci
12e41f4b71Sopenharmony_ci```ts
13e41f4b71Sopenharmony_ciimport deviceStandby from '@ohos.resourceschedule.deviceStandby';
14e41f4b71Sopenharmony_ci```
15e41f4b71Sopenharmony_ci
16e41f4b71Sopenharmony_ci## deviceStandby.getExemptedApps
17e41f4b71Sopenharmony_ci
18e41f4b71Sopenharmony_cigetExemptedApps(resourceTypes: number, callback: AsyncCallback<Array&lt;ExemptedAppInfo&gt;>): void
19e41f4b71Sopenharmony_ci
20e41f4b71Sopenharmony_ci获取进入待机模式的应用名单,使用Callback异步回调。
21e41f4b71Sopenharmony_ci
22e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ResourceSchedule.DeviceStandby
23e41f4b71Sopenharmony_ci
24e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.DEVICE_STANDBY_EXEMPTION
25e41f4b71Sopenharmony_ci
26e41f4b71Sopenharmony_ci
27e41f4b71Sopenharmony_ci**参数**:
28e41f4b71Sopenharmony_ci
29e41f4b71Sopenharmony_ci| 参数名      | 类型                   | 必填   | 说明                             |
30e41f4b71Sopenharmony_ci| -------- | -------------------- | ---- | ------------------------------ |
31e41f4b71Sopenharmony_ci| ResourceTypes|number | 是    | 资源类型,类型具体说明请参考[ResourceType](#resourcetype)。 |
32e41f4b71Sopenharmony_ci| callback | AsyncCallback<Array&lt;[ExemptedAppInfo](#exemptedappinfo)&gt;> | 是    |豁免应用信息 。|
33e41f4b71Sopenharmony_ci
34e41f4b71Sopenharmony_ci**错误码**:
35e41f4b71Sopenharmony_ci
36e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[backgroundTaskManager错误码](errorcode-backgroundTaskMgr.md)和[通用错误码](../errorcode-universal.md)。
37e41f4b71Sopenharmony_ci
38e41f4b71Sopenharmony_ci| 错误码ID  | 错误信息             |
39e41f4b71Sopenharmony_ci| ---- | --------------------- |
40e41f4b71Sopenharmony_ci| 201  | Permission denied. |
41e41f4b71Sopenharmony_ci| 202 | Not System App. |
42e41f4b71Sopenharmony_ci| 401 | Parameter error. |
43e41f4b71Sopenharmony_ci| 9800001 | Memory operation failed. |
44e41f4b71Sopenharmony_ci| 9800002 | Parcel operation failed. |
45e41f4b71Sopenharmony_ci| 9800003 | Inner transact failed. |
46e41f4b71Sopenharmony_ci| 9800004 | System service operation failed. |
47e41f4b71Sopenharmony_ci| 18700001 | Caller information verification failed. |
48e41f4b71Sopenharmony_ci
49e41f4b71Sopenharmony_ci**示例**:
50e41f4b71Sopenharmony_ci
51e41f4b71Sopenharmony_ci```ts
52e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base';
53e41f4b71Sopenharmony_ci
54e41f4b71Sopenharmony_cilet resourceTypes: deviceStandby.ResourceType  = deviceStandby.ResourceType.TIMER | deviceStandby.ResourceType.NETWORK;
55e41f4b71Sopenharmony_cideviceStandby.getExemptedApps(resourceTypes, (err: BusinessError, res: Array<deviceStandby.ExemptedAppInfo>) => {
56e41f4b71Sopenharmony_ci  if (err) {
57e41f4b71Sopenharmony_ci    console.log('DEVICE_STANDBY getExemptedApps callback failed. code is: ' + err.code + ',message is: ' + err.message);
58e41f4b71Sopenharmony_ci  } else {
59e41f4b71Sopenharmony_ci    console.log('DEVICE_STANDBY getExemptedApps callback success.');
60e41f4b71Sopenharmony_ci    for (let i = 0; i < res.length; i++) {
61e41f4b71Sopenharmony_ci      console.log('DEVICE_STANDBY getExemptedApps callback result ' + JSON.stringify(res[i]));
62e41f4b71Sopenharmony_ci    }
63e41f4b71Sopenharmony_ci  }
64e41f4b71Sopenharmony_ci});
65e41f4b71Sopenharmony_ci```
66e41f4b71Sopenharmony_ci
67e41f4b71Sopenharmony_ci## deviceStandby.getExemptedApps
68e41f4b71Sopenharmony_ci
69e41f4b71Sopenharmony_cigetExemptedApps(resourceTypes: number): Promise<Array&lt;ExemptedAppInfo&gt;>
70e41f4b71Sopenharmony_ci
71e41f4b71Sopenharmony_ci获取进入待机模式的应用名单,使用Promise异步回调。
72e41f4b71Sopenharmony_ci
73e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ResourceSchedule.DeviceStandby
74e41f4b71Sopenharmony_ci
75e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.DEVICE_STANDBY_EXEMPTION
76e41f4b71Sopenharmony_ci
77e41f4b71Sopenharmony_ci
78e41f4b71Sopenharmony_ci**参数**:
79e41f4b71Sopenharmony_ci
80e41f4b71Sopenharmony_ci| 参数名      | 类型                   | 必填   | 说明                             |
81e41f4b71Sopenharmony_ci| -------- | -------------------- | ---- | ------------------------------ |
82e41f4b71Sopenharmony_ci| ResourceTypes|number | 是    |资源类型,类型具体说明请参考[ResourceType](#resourcetype)。|
83e41f4b71Sopenharmony_ci
84e41f4b71Sopenharmony_ci**返回值**:
85e41f4b71Sopenharmony_ci
86e41f4b71Sopenharmony_ci| 类型                    | 说明                                       |
87e41f4b71Sopenharmony_ci| --------------------- | ---------------------------------------- |
88e41f4b71Sopenharmony_ci| Promise<Array&lt;[ExemptedAppInfo](#exemptedappinfo)&gt;> | 豁免应用信息。 |
89e41f4b71Sopenharmony_ci
90e41f4b71Sopenharmony_ci**错误码**:
91e41f4b71Sopenharmony_ci
92e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[backgroundTaskManager错误码](errorcode-backgroundTaskMgr.md)和[通用错误码](../errorcode-universal.md)。
93e41f4b71Sopenharmony_ci
94e41f4b71Sopenharmony_ci| 错误码ID  | 错误信息             |
95e41f4b71Sopenharmony_ci| ---- | --------------------- |
96e41f4b71Sopenharmony_ci| 201  | Permission denied. |
97e41f4b71Sopenharmony_ci| 202 | Not System App. |
98e41f4b71Sopenharmony_ci| 401 | Parameter error. |
99e41f4b71Sopenharmony_ci| 9800001 | Memory operation failed. |
100e41f4b71Sopenharmony_ci| 9800002 | Parcel operation failed. |
101e41f4b71Sopenharmony_ci| 9800003 | Inner transact failed. |
102e41f4b71Sopenharmony_ci| 9800004 | System service operation failed. |
103e41f4b71Sopenharmony_ci| 18700001 | Caller information verification failed. |
104e41f4b71Sopenharmony_ci
105e41f4b71Sopenharmony_ci**示例**:
106e41f4b71Sopenharmony_ci
107e41f4b71Sopenharmony_ci```ts
108e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base';
109e41f4b71Sopenharmony_ci
110e41f4b71Sopenharmony_cilet resourceTypes: deviceStandby.ResourceType = deviceStandby.ResourceType.TIMER | deviceStandby.ResourceType.NETWORK;
111e41f4b71Sopenharmony_cideviceStandby.getExemptedApps(resourceTypes).then( (res: Array<deviceStandby.ExemptedAppInfo>) => {
112e41f4b71Sopenharmony_ci  console.log('DEVICE_STANDBY getExemptedApps promise success.');
113e41f4b71Sopenharmony_ci  for (let i = 0; i < res.length; i++) {
114e41f4b71Sopenharmony_ci    console.log('DEVICE_STANDBY getExemptedApps promise result ' + JSON.stringify(res[i]));
115e41f4b71Sopenharmony_ci  }
116e41f4b71Sopenharmony_ci}).catch( (err: BusinessError) => {
117e41f4b71Sopenharmony_ci  console.log('DEVICE_STANDBY getExemptedApps promise failed. code is: ' + err.code + ',message is: ' + err.message);
118e41f4b71Sopenharmony_ci});
119e41f4b71Sopenharmony_ci```
120e41f4b71Sopenharmony_ci
121e41f4b71Sopenharmony_ci## deviceStandby.requestExemptionResource
122e41f4b71Sopenharmony_ci
123e41f4b71Sopenharmony_cirequestExemptionResource(request: ResourceRequest): void
124e41f4b71Sopenharmony_ci
125e41f4b71Sopenharmony_ci应用订阅申请豁免,使应用临时不进入待机管控。
126e41f4b71Sopenharmony_ci
127e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ResourceSchedule.DeviceStandby
128e41f4b71Sopenharmony_ci
129e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.DEVICE_STANDBY_EXEMPTION
130e41f4b71Sopenharmony_ci
131e41f4b71Sopenharmony_ci
132e41f4b71Sopenharmony_ci**参数**:
133e41f4b71Sopenharmony_ci
134e41f4b71Sopenharmony_ci| 参数名      | 类型                   | 必填   | 说明                             |
135e41f4b71Sopenharmony_ci| -------- | -------------------- | ---- | ------------------------------ |
136e41f4b71Sopenharmony_ci| request |[ResourceRequest](#resourcerequest)| 是    | 资源请求。 |
137e41f4b71Sopenharmony_ci
138e41f4b71Sopenharmony_ci**错误码**:
139e41f4b71Sopenharmony_ci
140e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[backgroundTaskManager错误码](errorcode-backgroundTaskMgr.md)和[通用错误码](../errorcode-universal.md)。
141e41f4b71Sopenharmony_ci
142e41f4b71Sopenharmony_ci| 错误码ID  | 错误信息             |
143e41f4b71Sopenharmony_ci| ---- | --------------------- |
144e41f4b71Sopenharmony_ci| 201  | Permission denied. |
145e41f4b71Sopenharmony_ci| 202 | Not System App. |
146e41f4b71Sopenharmony_ci| 401 | Parameter error. |
147e41f4b71Sopenharmony_ci| 9800001 | Memory operation failed. |
148e41f4b71Sopenharmony_ci| 9800002 | Parcel operation failed. |
149e41f4b71Sopenharmony_ci| 9800003 | Inner transact failed. |
150e41f4b71Sopenharmony_ci| 9800004 | System service operation failed. |
151e41f4b71Sopenharmony_ci| 18700001 | Caller information verification failed. |
152e41f4b71Sopenharmony_ci
153e41f4b71Sopenharmony_ci**示例**:
154e41f4b71Sopenharmony_ci
155e41f4b71Sopenharmony_ci```ts
156e41f4b71Sopenharmony_cilet resRequest: deviceStandby.ResourceRequest = {
157e41f4b71Sopenharmony_ci  resourceTypes: deviceStandby.ResourceType.TIMER,
158e41f4b71Sopenharmony_ci  uid:10003,
159e41f4b71Sopenharmony_ci  name:"com.example.app",
160e41f4b71Sopenharmony_ci  duration:10,
161e41f4b71Sopenharmony_ci  reason:"apply",
162e41f4b71Sopenharmony_ci};
163e41f4b71Sopenharmony_cideviceStandby.requestExemptionResource(resRequest);
164e41f4b71Sopenharmony_ci```
165e41f4b71Sopenharmony_ci
166e41f4b71Sopenharmony_ci## deviceStandby.releaseExemptionResource
167e41f4b71Sopenharmony_ci
168e41f4b71Sopenharmony_cireleaseExemptionResource(request: ResourceRequest): void
169e41f4b71Sopenharmony_ci
170e41f4b71Sopenharmony_ci取消应用订阅申请豁免。
171e41f4b71Sopenharmony_ci
172e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ResourceSchedule.DeviceStandby
173e41f4b71Sopenharmony_ci
174e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.DEVICE_STANDBY_EXEMPTION
175e41f4b71Sopenharmony_ci
176e41f4b71Sopenharmony_ci
177e41f4b71Sopenharmony_ci**参数**:
178e41f4b71Sopenharmony_ci
179e41f4b71Sopenharmony_ci| 参数名      | 类型                   | 必填   | 说明                             |
180e41f4b71Sopenharmony_ci| -------- | -------------------- | ---- | ------------------------------ |
181e41f4b71Sopenharmony_ci| request |[ResourceRequest](#resourcerequest)| 是    | 资源请求 。|
182e41f4b71Sopenharmony_ci
183e41f4b71Sopenharmony_ci**错误码**:
184e41f4b71Sopenharmony_ci
185e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[backgroundTaskManager错误码](errorcode-backgroundTaskMgr.md)和[通用错误码](../errorcode-universal.md)。
186e41f4b71Sopenharmony_ci
187e41f4b71Sopenharmony_ci| 错误码ID  | 错误信息             |
188e41f4b71Sopenharmony_ci| ---- | --------------------- |
189e41f4b71Sopenharmony_ci| 201  | Permission denied. |
190e41f4b71Sopenharmony_ci| 202 | Not System App. |
191e41f4b71Sopenharmony_ci| 401 | Parameter error. |
192e41f4b71Sopenharmony_ci| 9800001 | Memory operation failed. |
193e41f4b71Sopenharmony_ci| 9800002 | Parcel operation failed. |
194e41f4b71Sopenharmony_ci| 9800003 | Inner transact failed. |
195e41f4b71Sopenharmony_ci| 9800004 | System service operation failed. |
196e41f4b71Sopenharmony_ci| 18700001 | Caller information verification failed. |
197e41f4b71Sopenharmony_ci
198e41f4b71Sopenharmony_ci**示例**:
199e41f4b71Sopenharmony_ci
200e41f4b71Sopenharmony_ci```ts
201e41f4b71Sopenharmony_cilet resRequest: deviceStandby.ResourceRequest = {
202e41f4b71Sopenharmony_ci  resourceTypes: deviceStandby.ResourceType.TIMER,
203e41f4b71Sopenharmony_ci  uid:10003,
204e41f4b71Sopenharmony_ci  name:"com.demo.app",
205e41f4b71Sopenharmony_ci  duration:10,
206e41f4b71Sopenharmony_ci  reason:"unapply",
207e41f4b71Sopenharmony_ci};
208e41f4b71Sopenharmony_cideviceStandby.releaseExemptionResource(resRequest);
209e41f4b71Sopenharmony_ci```
210e41f4b71Sopenharmony_ci
211e41f4b71Sopenharmony_ci## ResourceType
212e41f4b71Sopenharmony_ci
213e41f4b71Sopenharmony_ci非待机应用资源枚举。
214e41f4b71Sopenharmony_ci
215e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ResourceSchedule.DeviceStandby
216e41f4b71Sopenharmony_ci
217e41f4b71Sopenharmony_ci
218e41f4b71Sopenharmony_ci|名称   |值   |说明|
219e41f4b71Sopenharmony_ci| ------------ | ------------ |--------------|
220e41f4b71Sopenharmony_ci|NETWORK    |1   |网络访问资源。|
221e41f4b71Sopenharmony_ci|RUNNING_LOCK    |2   |cpu-runninglock资源。|
222e41f4b71Sopenharmony_ci|TIMER     |4   | timer任务资源。|
223e41f4b71Sopenharmony_ci|WORK_SCHEDULER     |8   | work任务资源。|
224e41f4b71Sopenharmony_ci|AUTO_SYNC      |16   | 自动同步的资源。 |
225e41f4b71Sopenharmony_ci|PUSH     |32   | pushkit资源。|
226e41f4b71Sopenharmony_ci|FREEZE       |64   | 冻结应用资源。|
227e41f4b71Sopenharmony_ci
228e41f4b71Sopenharmony_ci## ExemptedAppInfo
229e41f4b71Sopenharmony_ci
230e41f4b71Sopenharmony_ci豁免应用信息,未进入待机管控的应用信息。
231e41f4b71Sopenharmony_ci
232e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ResourceSchedule.DeviceStandby
233e41f4b71Sopenharmony_ci
234e41f4b71Sopenharmony_ci
235e41f4b71Sopenharmony_ci|名称  |类型   | 必填   |说明   |
236e41f4b71Sopenharmony_ci| ------------ | ------------ |------------ | ------------ |
237e41f4b71Sopenharmony_ci|resourceTypes   | number  | 是   |资源类型,类型具体说明请参考[ResourceType](#resourcetype)。   |
238e41f4b71Sopenharmony_ci|name   |string   | 是   |  应用名。  |
239e41f4b71Sopenharmony_ci|duration   | number  | 是   | 豁免时长。 |
240e41f4b71Sopenharmony_ci
241e41f4b71Sopenharmony_ci## ResourceRequest
242e41f4b71Sopenharmony_ci
243e41f4b71Sopenharmony_ci待机资源请求体。
244e41f4b71Sopenharmony_ci
245e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ResourceSchedule.DeviceStandby
246e41f4b71Sopenharmony_ci
247e41f4b71Sopenharmony_ci
248e41f4b71Sopenharmony_ci|名称   |类型   | 必填   |说明   |
249e41f4b71Sopenharmony_ci| ------------ | ------------ |------------| ------------ |
250e41f4b71Sopenharmony_ci|resourceTypes   | number  | 是   |资源类型,类型具体说明请参考[ResourceType](#resourcetype)。   |
251e41f4b71Sopenharmony_ci|uid   | number  | 是   |应用uid。   |
252e41f4b71Sopenharmony_ci|name   |string   | 是   | 应用名称。  |
253e41f4b71Sopenharmony_ci|duration   | number  | 是   | 豁免时长。 |
254e41f4b71Sopenharmony_ci|reason   |string   | 是   |  申请原因。  |