@ohos.thermal (Thermal Management)

The thermal module provides thermal level-related callback and query APIs to obtain the information required for thermal control.

NOTE
The initial APIs of this module are supported since API version 8. Newly added APIs will be marked with a superscript to indicate their earliest API version.

Modules to Import

import thermal from '@ohos.thermal';

thermal.registerThermalLevelCallback9+

registerThermalLevelCallback(callback: Callback<ThermalLevel>): void

Subscribes to thermal level changes.

System capability: SystemCapability.PowerManager.ThermalManager

Parameters

Name Type Mandatory Description
callback Callback<ThermalLevel> Yes Callback used to return the result.

Error codes

For details about the error codes, see Thermal Manager Error Codes.

Code Error Message
4800101 Operation failed. Cannot connect to service.

Example

try {
    thermal.registerThermalLevelCallback(level => {
        console.info('thermal level is: ' + level);
    });
    console.info('register thermal level callback success.');
} catch(err) {
    console.error('register thermal level callback failed, err: ' + err);
}

thermal.unregisterThermalLevelCallback9+

unregisterThermalLevelCallback(callback?: Callback<void>): void

Unsubscribes from thermal level changes.

System capability: SystemCapability.PowerManager.ThermalManager

Parameters

Name Type Mandatory Description
callback Callback<void> No Callback used to return the result. No value is returned. If this parameter is not set, this API unsubscribes from all callbacks.

Error codes

For details about the error codes, see Thermal Manager Error Codes.

Code Error Message
4800101 Operation failed. Cannot connect to service.

Example

try {
    thermal.unregisterThermalLevelCallback(() => {
        console.info('unsubscribe thermal level success.');
    });
    console.info('unregister thermal level callback success.');
} catch(err) {
    console.error('unregister thermal level callback failed, err: ' + err);
}

thermal.getLevel9+

getLevel(): ThermalLevel

Obtains the current thermal level.

System capability: SystemCapability.PowerManager.ThermalManager

Return value

Type Description
ThermalLevel Thermal level obtained.

Error codes

For details about the error codes, see Thermal Manager Error Codes.

Code Error Message
4800101 Operation failed. Cannot connect to service.

Example

try {
    var level = thermal.getLevel();
    console.info('thermal level is: ' + level);
} catch(err) {
    console.error('get thermal level failed, err: ' + err);
}

thermal.subscribeThermalLevel(deprecated)

subscribeThermalLevel(callback: AsyncCallback<ThermalLevel>): void

NOTE
This API is deprecated since API version 9. You are advised to use thermal.registerThermalLevelCallback instead.

Subscribes to thermal level changes.

System capability: SystemCapability.PowerManager.ThermalManager

Parameters

Name Type Mandatory Description
callback AsyncCallback<ThermalLevel> Yes Callback used to return the result. The return value contains only one parameter, that is, thermal level. If an alarm is generated, you can use // @ts-ignore to suppress the alarm.

Example

thermal.subscribeThermalLevel((level) => {
    console.info('thermal level is: ' + level);
});

thermal.unsubscribeThermalLevel(deprecated)

unsubscribeThermalLevel(callback?: AsyncCallback<void>): void

NOTE
This API is deprecated since API version 9. You are advised to use thermal.unregisterThermalLevelCallback instead.

Unsubscribes from thermal level changes.

System capability: SystemCapability.PowerManager.ThermalManager

Parameters

Name Type Mandatory Description
callback AsyncCallback<void> No Callback used to return the result. No value is returned. If this parameter is not set, this API unsubscribes from all callbacks.

Example

thermal.unsubscribeThermalLevel(() => {
    console.info('unsubscribe thermal level success.');
});

thermal.getThermalLevel(deprecated)

getThermalLevel(): ThermalLevel

NOTE
This API is deprecated since API version 9. You are advised to use thermal.getLevel instead.

Obtains the current thermal level.

System capability: SystemCapability.PowerManager.ThermalManager

Return value

Type Description
ThermalLevel Thermal level obtained.

Example

var level = thermal.getThermalLevel();
console.info('thermal level is: ' + level);

ThermalLevel

Represents the thermal level.

System capability: SystemCapability.PowerManager.ThermalManager

Name Value Description
COOL 0 The device is cool, and services are not restricted.
NORMAL 1 The device is operational but is not cool. You need to pay attention to its heating.
WARM 2 The device is warm. You need to stop or delay some imperceptible services.
HOT 3 The device is heating up. You need to stop all imperceptible services and downgrade or reduce the load of other services.
OVERHEATED 4 The device is overheated. You need to stop all imperceptible services and downgrade or reduce the load of major services.
WARNING 5 The device is overheated and is about to enter the emergency state. You need to stop all imperceptible services and downgrade major services to the maximum extent.
EMERGENCY 6 The device has entered the emergency state. You need to stop all services except those for the emergency help purposes.