diff --git a/zh-cn/application-dev/reference/apis/js-apis-battery-statistics.md b/zh-cn/application-dev/reference/apis/js-apis-battery-statistics.md new file mode 100755 index 0000000000000000000000000000000000000000..2649e794296f49dcc3db0e2aa856fec11539a0c6 --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-battery-statistics.md @@ -0,0 +1,193 @@ +# 耗电统计 + +> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** +> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 + + +## 导入模块 + +``` +import batteryStats from '@ohos.batteryStatistics'; +``` + +## ConsumptionType + +耗电信息的类型。 + +| 名称 | 值 | 说明 | +| -------- | -------- | -------- | +| CONSUMPTION_TYPE_INVALID | -17 | 无效的耗电信息。
**系统能力**: SystemCapability.PowerManager.BatteryStatistics | +| CONSUMPTION_TYPE_APP | -16 | 应用的耗电信息。
**系统能力**: SystemCapability.PowerManager.BatteryStatistics | +| CONSUMPTION_TYPE_BLUETOOTH | -15 | 蓝牙的耗电信息。
**系统能力**: SystemCapability.PowerManager.BatteryStatistics | +| CONSUMPTION_TYPE_IDLE | -14 | CPU空闲的耗电信息。
**系统能力**: SystemCapability.PowerManager.BatteryStatistics | +| CONSUMPTION_TYPE_PHONE | -13 | 通话的耗电信息。
**系统能力**: SystemCapability.PowerManager.BatteryStatistics | +| CONSUMPTION_TYPE_RADIO | -12 | 移动无线的耗电信息。
**系统能力**: SystemCapability.PowerManager.BatteryStatistics | +| CONSUMPTION_TYPE_SCREEN | -11 | 屏幕的耗电信息。
**系统能力**: SystemCapability.PowerManager.BatteryStatistics | +| CONSUMPTION_TYPE_USER | -10 | 用户的耗电信息。
**系统能力**: SystemCapability.PowerManager.BatteryStatistics | +| CONSUMPTION_TYPE_WIFI | -9 | WIFI的耗电信息。
**系统能力**: SystemCapability.PowerManager.BatteryStatistics | + +## BatteryStatsInfo + +耗电信息。 + +| 名称 | 类型 | 可读 | 可写 | 说明 | +| -------- | -------- | -------- | -------- | -------- | +| uid | number | 是|否|当type为CONSUMPTION_TYPE_APP时, 表示应用的uid。
当type为CONSUMPTION_TYPE_USER时, 表示用户ID。
其他情况下, uid为无效值-1。
**系统能力**: SystemCapability.PowerManager.BatteryStatistics | +| type | 是|否|[ConsumptionType](#ConsumptionType) | 耗电信息的类型。
**系统能力**: SystemCapability.PowerManager.BatteryStatistics | +| power | number |是|否| 耗电量(mAh)。
**系统能力**: SystemCapability.PowerManager.BatteryStatistics | + +## batteryStats.getBatteryStats + +getBatteryStats(): Promise<Array<BatteryStatsInfo>> + +查询耗电统计信息, 通过Promise返回结果。 + +**系统能力**: SystemCapability.PowerManager.BatteryStatistics + +**返回值:** + | 类型 | 说明 | + | -------- | -------- | + | Promise< Array<[BatteryStatsInfo](#BatteryStatsInfo)> > | Promise实例,用于异步获取返回的BatteryStatsInfo对象数组。 | + +**示例:** +``` +batteryStats.getBatteryStats() +.then(batterystatsinfolist => { + console.info('Get BatteryStatsInfo array success'); +}) +.catch(error => { + console.log('Get BatteryStatsInfo array error: ' + error); +}) +``` + +## batteryStats.getBatteryStats + +getBatteryStats(callback: AsyncCallback<Array<[BatteryStatsInfo](#BatteryStatsInfo)>>): void + +查询耗电统计信息, 通过指定的callback回调方法返回结果。 + +**系统能力**: SystemCapability.PowerManager.BatteryStatistics + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| callback | AsyncCallback<Array<[BatteryStatsInfo](#BatteryStatsInfo)>> | 是 | 指定的callback回调方法,用于获取返回的BatteryStatsInfo对象数组。 | + +**示例:** + +``` +batteryStats.getBatteryStats() +.then(batterystatsinfolist => { + console.info('Get BatteryStatsInfo array success'); +}) +.catch(error => { + console.log('Get BatteryStatsInfo array error: ' + error); +}) +``` + +## batteryStats.getAppPowerValue + +getAppPowerValue(uid: number): number + +获取指定应用的耗电量。 + +**系统能力**: SystemCapability.PowerManager.BatteryStatistics + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| uid | number | 是 | 应用的uid。 | + +**返回值:** + +| 类型 | 说明 | +| -------- | -------- | +| number | 应用的耗电量(mAh)。 | + +**示例:** + +``` +let uid = 111; +let appConsumptionMah = batteryStats.getAppPowerValue(uid); +``` + +## batteryStats.getAppPowerPercent + +getAppPowerPercent(uid: number): number + +获取指定应用的耗电百分比。 + +**系统能力**: SystemCapability.PowerManager.BatteryStatistics + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| uid | number | 是 | 应用的uid。 | + +**返回值:** + +| 类型 | 说明 | +| -------- | -------- | +| number | 应用的耗电百分比。(例如: 0.4) | + +**示例:** + +``` +let uid = 111; +let appConsumptionPercent = batteryStats.getAppPowerPercent(uid); +``` + +## batteryStats.getHardwareUnitPowerValue + +getHardwareUnitPowerValue(type: ConsumptionType): number + +获取指定硬件的耗电量。 + +**系统能力**: SystemCapability.PowerManager.BatteryStatistics + +**参数:** + +| 参数名 | 类型 | 说明 | +| -------- | -------- | -------- | +| type | [ConsumptionType](#ConsumptionType) | 耗电信息的类型。 | + +**返回值:** + +| 类型 | 说明 | +| -------- | -------- | +| number | 硬件的耗电量(mAh)。 | + +**示例:** + +``` +let bluetoothConsumptionMah = batteryStats.getHardwareUnitPowerValue(ConsumptionType.CONSUMPTION_TYPE_BLUETOOTH); +``` + +## batteryStats.getHardwareUnitPowerPercent + +getHardwareUnitPowerPercent(type: ConsumptionType): number + +获取指定硬件的耗电百分比。 + +**系统能力**: SystemCapability.PowerManager.BatteryStatistics + +**参数:** + +| 参数名 | 类型 | 说明 | +| -------- | -------- | -------- | +| type | [ConsumptionType](#ConsumptionType) | 耗电信息的类型。 | + +**返回值:** + +| 类型 | 说明 | +| -------- | -------- | +| number | 硬件的耗电百分比。(例如: 0.4) | + +**示例:** + +``` +let bluetoothConsumptionPercent = batteryStats.getHardwareUnitPowerPercent(ConsumptionType.CONSUMPTION_TYPE_BLUETOOTH); +``` \ No newline at end of file