diff --git a/zh-cn/application-dev/reference/apis/js-apis-resourceschedule-deviceStandby.md b/zh-cn/application-dev/reference/apis/js-apis-resourceschedule-deviceStandby.md index 7a25e9b11484f6810fae3f1a15183f00ef79f3f4..c14631607428d6ef3d476740a0a8c616c0c9ae82 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-resourceschedule-deviceStandby.md +++ b/zh-cn/application-dev/reference/apis/js-apis-resourceschedule-deviceStandby.md @@ -1,5 +1,5 @@ # @ohos.resourceschedule.deviceStandby(设备待机模块) -当设备长时间未被使用或通过按键,可以使设备进入待机模式。待机模式不影响应用使用,还可以延长电池续航时间。通过本模块接口,可查询设备是否为待机模式,以及使应用灵活申请开启或关闭待机模式。 +当设备长时间未被使用或通过按键,可以使设备进入待机模式。待机模式不影响应用使用,还可以延长电池续航时间。通过本模块接口,可查询设备是否为待机模式,以及使设备某个应用能避免纳入待机资源管控、解除避免资源管控。 > **说明:** > - 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 @@ -8,6 +8,9 @@ ```js import deviceStandby from '@ohos.resourceschedule.deviceStandby'; ``` + +需要检查是否已经配置请求相应的权限: ohos.permission.DEVICE_STANDBY_EXEMPTION + ## deviceStandby.isDeviceInStandby isDeviceInStandby(callback: AsyncCallback<boolean>): void; @@ -33,6 +36,20 @@ isDeviceInStandby(callback: AsyncCallback<boolean>): void; | 9800004 | System service operation failed. | | 18700001 | Caller information verification failed when applying for efficiency resources. | +**示例**: + + try{ + deviceStandby.isDeviceInStandby((err, res) => { + if (err) { + console.log('DEVICE_STANDBY isDeviceInStandby callback failed. code is: ' + err.code + ',message is: ' + err.message); + } else { + console.log('DEVICE_STANDBY isDeviceInStandby callback succeeded, result: ' + JSON.stringify(res)); + } + }); + } catch(error) { + console.log('DEVICE_STANDBY isDeviceInStandby throw error, code is: ' + error.code + ',message is: ' + error.message); + } + ## deviceStandby.isDeviceInStandby isDeviceInStandby(): Promise<boolean> @@ -58,6 +75,18 @@ isDeviceInStandby(): Promise<boolean> | 9800004 | System service operation failed. | | 18700001 | Caller information verification failed when applying for efficiency resources. | +**示例**: + + try{ + deviceStandby.isDeviceInStandby().then( res => { + console.log('DEVICE_STANDBY isDeviceInStandby promise succeeded, result: ' + JSON.stringify(res)); + }).catch( err => { + console.log('DEVICE_STANDBY isDeviceInStandby promise failed. code is: ' + err.code + ',message is: ' + err.message); + }); + } catch (error) { + console.log('DEVICE_STANDBY isDeviceInStandby throw error, code is: ' + error.code + ',message is: ' + error.message); + } + ## deviceStandby.getExemptedApps getExemptedApps(resourceTypes: number, callback: AsyncCallback): void; @@ -86,6 +115,23 @@ getExemptedApps(resourceTypes: number, callback: AsyncCallback { + if (err) { + console.log('DEVICE_STANDBY getExemptedApps callback failed. code is: ' + err.code + ',message is: ' + err.message); + } else { + console.log('DEVICE_STANDBY getExemptedApps callback success.'); + for (let i = 0; i < res.length; i++) { + console.log('DEVICE_STANDBY getExemptedApps callback result ' + JSON.stringify(res[i])); + } + } + }); + } catch (error) { + console.log('DEVICE_STANDBY getExemptedApps throw error, code is: ' + error.code + ',message is: ' + error.message); + } + ## deviceStandby.getExemptedApps getExemptedApps(resourceTypes: number): Promise; @@ -122,10 +168,25 @@ getExemptedApps(resourceTypes: number): Promise; | 9800004 | System service operation failed. | | 18700001 | Caller information verification failed when applying for efficiency resources. | +**示例**: + + try{ + deviceStandby.getExemptedApps(resourceTypes).then( res => { + console.log('DEVICE_STANDBY getExemptedApps promise success.'); + for (let i = 0; i < res.length; i++) { + console.log('DEVICE_STANDBY getExemptedApps promise result ' + JSON.stringify(res[i])); + } + }).catch( err => { + console.log('DEVICE_STANDBY getExemptedApps promise failed. code is: ' + err.code + ',message is: ' + err.message); + }); + } catch (error) { + console.log('DEVICE_STANDBY getExemptedApps throw error, code is: ' + error.code + ',message is: ' + error.message); + } + ## deviceStandby.requestExemptionResource requestExemptionResource(request: ResourceRequest): void; -订阅申请豁免,为应用申请临时不进入待机管控能力。 +订阅申请豁免,为应用申请临时不进入待机管控能力。(申请豁免待机状态解除指定类型资源限制) **系统能力:** SystemCapability.ResourceSchedule.DeviceStandby.Exemption @@ -149,10 +210,43 @@ requestExemptionResource(request: ResourceRequest): void; | 9800004 | System service operation failed. | | 18700001 | Caller information verification failed when applying for efficiency resources. | +**示例**: + + let resRequest = { + resourceTypes: 1, + uid:10003, + name:"com.example.app", + duration:10, + reason:"apply", + }; + // 异步方法promise方式 + try{ + deviceStandby.requestExemptionResource(resRequest).then( () => { + console.log('DEVICE_STANDBY requestExemptionResource promise succeeded.'); + }).catch( err => { + console.log('DEVICE_STANDBY requestExemptionResource promise failed. code is: ' + err.code + ',message is: ' + err.message); + }); + } catch (error) { + console.log('DEVICE_STANDBY requestExemptionResource throw error, code is: ' + error.code + ',message is: ' + error.message); + } + + // 异步方法callback方式 + try{ + deviceStandby.requestExemptionResource(resRequest, (err) => { + if (err) { + console.log('DEVICE_STANDBY requestExemptionResource callback failed. code is: ' + err.code + ',message is: ' + err.message); + } else { + console.log('DEVICE_STANDBY requestExemptionResource callback succeeded.'); + } + }); + } catch (error) { + console.log('DEVICE_STANDBY requestExemptionResource throw error, code is: ' + error.code + ',message is: ' + error.message); + } + ## deviceStandby.releaseExemptionResource releaseExemptionResource(request: ResourceRequest): void; -去除订阅申请豁免,去除应用暂时不进入待机管控的能力。 +去除订阅申请豁免,去除应用暂时不进入待机管控的能力。(申请去除豁免待机状态解除指定类型资源限制) **系统能力:** SystemCapability.ResourceSchedule.DeviceStandby.Exemption @@ -176,6 +270,39 @@ releaseExemptionResource(request: ResourceRequest): void; | 9800004 | System service operation failed. | | 18700001 | Caller information verification failed when applying for efficiency resources. | +**示例**: + + let resRequest = { + resourceTypes: 1, + uid:10003, + name:"com.demo.app", + duration:10, + reason:"unapply", + }; + // 异步方法promise方式 + try{ + deviceStandby.releaseExemptionResource(resRequest).then( () => { + console.log('DEVICE_STANDBY releaseExemptionResource promise succeeded.'); + }).catch( err => { + console.log('DEVICE_STANDBY releaseExemptionResource promise failed. code is: ' + err.code + ',message is: ' + err.message); + }); + } catch (error) { + console.log('DEVICE_STANDBY releaseExemptionResource throw error, code is: ' + error.code + ',message is: ' + error.message); + } + + // 异步方法callback方式 + try{ + deviceStandby.releaseExemptionResource(resRequest, (err) => { + if (err) { + console.log('DEVICE_STANDBY releaseExemptionResource callback failed. code is: ' + err.code + ',message is: ' + err.message); + } else { + console.log('DEVICE_STANDBY releaseExemptionResource callback succeeded.'); + } + }); + } catch (error) { + console.log('DEVICE_STANDBY releaseExemptionResource throw error, code is: ' + error.code + ',message is: ' + error.message); + } + ## ResourceType 非待机应用资源枚举。