harmony 鸿蒙@ohos.resourceschedule.deviceStandby (设备待机模块)

2023-06-24 浏览 (1002)

@ohos.resourceschedule.deviceStandby (设备待机模块)

当设备长时间未被使用或通过按键,可以使设备进入待机模式。待机模式不影响应用使用,还可以延长电池续航时间。通过本模块接口,可查询设备或应用是否为待机模式,以及为应用申请或取消待机资源管控。

说明:

本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import deviceStandby from '@ohos.resourceschedule.deviceStandby';

deviceStandby.getExemptedApps

getExemptedApps(resourceTypes: number, callback: AsyncCallback<Array<ExemptedAppInfo>>): void;

获取进入待机模式的应用名单,使用Callback异步回调。

系统能力: SystemCapability.ResourceSchedule.DeviceStandby

需要权限: ohos.permission.DEVICE_STANDBY_EXEMPTION

系统API: 此接口为系统接口。

参数:

参数名类型必填说明
ResourceTypesnumber是资源类型。
callbackAsyncCallback<Array<ExemptedAppInfo>>是豁免应用信息 。

错误码:

以下错误码的详细介绍请参见后台任务错误码。

错误码ID错误信息
9800001Memory operation failed.
9800002Parcel operation failed.
9800003Inner transact failed.
9800004System service operation failed.
18700001Caller information verification failed.

示例:

import { BusinessError } from '@ohos.base';

let resourceTypes: deviceStandby.ResourceType  = deviceStandby.ResourceType.TIMER;
deviceStandby.getExemptedApps(resourceTypes, (err: BusinessError, res: Array<deviceStandby.ExemptedAppInfo>) => {
  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]));
    }
  }
});

deviceStandby.getExemptedApps

getExemptedApps(resourceTypes: number): Promise<Array<ExemptedAppInfo>>;

获取进入待机模式的应用名单,使用Promise异步回调。

系统能力: SystemCapability.ResourceSchedule.DeviceStandby

需要权限: ohos.permission.DEVICE_STANDBY_EXEMPTION

系统API: 此接口为系统接口。

参数:

参数名类型必填说明
ResourceTypesnumber是资源类型。

返回值:

类型说明
Promise<Array<ExemptedAppInfo>>豁免应用信息。

错误码:

以下错误码的详细介绍请参见后台任务错误码。

错误码ID错误信息
9800001Memory operation failed.
9800002Parcel operation failed.
9800003Inner transact failed.
9800004System service operation failed.
18700001Caller information verification failed.

示例:

import { BusinessError } from '@ohos.base';

let resourceTypes: deviceStandby.ResourceType = deviceStandby.ResourceType.TIMER;
deviceStandby.getExemptedApps(resourceTypes).then( (res: Array<deviceStandby.ExemptedAppInfo>) => {
  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: BusinessError) => {
  console.log('DEVICE_STANDBY getExemptedApps promise failed. code is: ' + err.code + ',message is: ' + err.message);
});

deviceStandby.requestExemptionResource

requestExemptionResource(request: ResourceRequest): void;

应用订阅申请豁免,使应用临时不进入待机管控。

系统能力: SystemCapability.ResourceSchedule.DeviceStandby

需要权限: ohos.permission.DEVICE_STANDBY_EXEMPTION

系统API: 此接口为系统接口。

参数:

参数名类型必填说明
requestResourceRequest是资源请求。

错误码:

以下错误码的详细介绍请参见后台任务错误码。

错误码ID错误信息
9800001Memory operation failed.
9800002Parcel operation failed.
9800003Inner transact failed.
9800004System service operation failed.
18700001Caller information verification failed.

示例:

let resRequest: deviceStandby.ResourceRequest = {
  resourceTypes: deviceStandby.ResourceType.TIMER,
  uid:10003,
  name:"com.example.app",
  duration:10,
  reason:"apply",
};
deviceStandby.requestExemptionResource(resRequest);

deviceStandby.releaseExemptionResource

releaseExemptionResource(request: ResourceRequest): void;

取消应用订阅申请豁免。

系统能力: SystemCapability.ResourceSchedule.DeviceStandby

需要权限: ohos.permission.DEVICE_STANDBY_EXEMPTION

系统API: 此接口为系统接口。

参数:

参数名类型必填说明
requestResourceRequest是资源请求 。

错误码:

以下错误码的详细介绍请参见后台任务错误码。

错误码ID错误信息
9800001Memory operation failed.
9800002Parcel operation failed.
9800003Inner transact failed.
9800004System service operation failed.
18700001Caller information verification failed.

示例:

let resRequest: deviceStandby.ResourceRequest = {
  resourceTypes: deviceStandby.ResourceType.TIMER,
  uid:10003,
  name:"com.demo.app",
  duration:10,
  reason:"unapply",
};
deviceStandby.releaseExemptionResource(resRequest);

ResourceType

非待机应用资源枚举。

系统能力: SystemCapability.ResourceSchedule.DeviceStandby

系统API: 此接口为系统接口。

名称值说明
NETWORK1网络访问资源
RUNNING_LOCK2cpu-runninglock资源
TIMER4timer任务资源
WORK_SCHEDULER8work任务资源
AUTO_SYNC16自动同步的资源
PUSH32pushkit资源
FREEZE64冻结应用资源

ExemptedAppInfo

豁免应用信息,未进入待机管控的应用信息。

系统能力: SystemCapability.ResourceSchedule.DeviceStandby

系统API: 此接口为系统接口。

名称类型必填说明
resourceTypesnumber是应用的资源类型
namestring是应用名
durationnumber是豁免时长

ResourceRequest

待机资源请求体。

系统能力: SystemCapability.ResourceSchedule.DeviceStandby

系统API: 此接口为系统接口。

名称类型必填说明
resourceTypesnumber是应用的资源类型
uidnumber是应用uid
namestring是应用名称
durationnumber是豁免时长
reasonstring是申请原因

你可能感兴趣的鸿蒙文章

harmony 鸿蒙接口

harmony 鸿蒙系统公共事件定义(待停用)

harmony 鸿蒙系统公共事件定义

harmony 鸿蒙开发说明

harmony 鸿蒙企业设备管理概述(仅对系统应用开放)

harmony 鸿蒙BundleStatusCallback

harmony 鸿蒙@ohos.bundle.innerBundleManager (innerBundleManager模块)

harmony 鸿蒙@ohos.distributedBundle (分布式包管理)

harmony 鸿蒙@ohos.bundle (Bundle模块)

harmony 鸿蒙@ohos.enterprise.EnterpriseAdminExtensionAbility (企业设备管理扩展能力)

  • 所属分类: 后端技术
  • 本文标签: 鸿蒙 软件
  • 版权声明: 本文链接 https://seaxiang.com/blog/b6d858307d3e4626b21f5ae23a530502