1# @ohos.thermal (热管理) 2 3该模块提供热管理相关的接口,包括热档位查询及注册回调等功能。 4 5> **说明:** 6> 7> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8 9## 导入模块 10 11```js 12import thermal from '@ohos.thermal'; 13``` 14 15## thermal.registerThermalLevelCallback<sup>9+</sup> 16 17registerThermalLevelCallback(callback: Callback<ThermalLevel>): void 18 19订阅热档位变化时的回调提醒。 20 21**系统能力:** SystemCapability.PowerManager.ThermalManager 22 23**参数:** 24 25| 参数名 | 类型 | 必填 | 说明 | 26| -------- | ---------------------------- | ---- | ------------------------------ | 27| callback | Callback<ThermalLevel> | 是 | 回调函数,返回变化后的热档位。 | 28 29**错误码:** 30 31以下错误码的详细介绍请参见[耗电统计错误码](../errorcodes/errorcode-thermal.md)。 32 33| 错误码ID | 错误信息 | 34|---------|---------| 35| 4800101 | If connecting to the service failed. | 36 37**示例:** 38 39```js 40try { 41 thermal.registerThermalLevelCallback(level => { 42 console.info('thermal level is: ' + level); 43 }); 44 console.info('register thermal level callback success.'); 45} catch(err) { 46 console.error('register thermal level callback failed, err: ' + err); 47} 48``` 49 50## thermal.unregisterThermalLevelCallback<sup>9+</sup> 51 52unregisterThermalLevelCallback(callback?: Callback\<void>): void 53 54取消订阅热档位变化时的回调提醒。 55 56**系统能力:** SystemCapability.PowerManager.ThermalManager 57 58**参数:** 59 60| 参数名 | 类型 | 必填 | 说明 | 61| -------- | -------------------- | ---- | ---------------------------------------------- | 62| callback | Callback<void> | 否 | 回调函数,无返回值。不填该参数则取消所有回调。 | 63 64**错误码:** 65 66以下错误码的详细介绍请参见[热管理错误码](../errorcodes/errorcode-thermal.md)。 67 68| 错误码ID | 错误信息 | 69|---------|---------| 70| 4800101 | If connecting to the service failed. | 71 72**示例:** 73 74```js 75try { 76 thermal.unregisterThermalLevelCallback(() => { 77 console.info('unsubscribe thermal level success.'); 78 }); 79 console.info('unregister thermal level callback success.'); 80} catch(err) { 81 console.error('unregister thermal level callback failed, err: ' + err); 82} 83``` 84 85## thermal.getLevel<sup>9+</sup> 86 87getLevel(): ThermalLevel 88 89获取当前热档位信息。 90 91**系统能力:** SystemCapability.PowerManager.ThermalManager 92 93**返回值:** 94 95| 类型 | 说明 | 96| ------------ | ------------ | 97| ThermalLevel | 热档位信息。 | 98 99**错误码:** 100 101以下错误码的详细介绍请参见[热管理错误码](../errorcodes/errorcode-thermal.md)。 102 103| 错误码ID | 错误信息 | 104|---------|---------| 105| 4800101 | If connecting to the service failed. | 106 107**示例:** 108 109```js 110try { 111 var level = thermal.getLevel(); 112 console.info('thermal level is: ' + level); 113} catch(err) { 114 console.error('get thermal level failed, err: ' + err); 115} 116``` 117 118## thermal.subscribeThermalLevel<sup>(deprecated)</sup> 119 120subscribeThermalLevel(callback: AsyncCallback<ThermalLevel>): void 121 122> **说明:**<br>从API version 9开始不再维护,建议使用[thermal.registerThermalLevelCallback](#thermalregisterthermallevelcallback9)替代。 123 124订阅热档位变化时的回调提醒。 125 126**系统能力:** SystemCapability.PowerManager.ThermalManager 127 128**参数:** 129 130| 参数名 | 类型 | 必填 | 说明 | 131| -------- | --------------------------------- | ---- | ------------------------------------------------------------ | 132| callback | AsyncCallback<ThermalLevel> | 是 | 回调函数。AsyncCallback只返回一个参数,为热档位信息,此时可能会产生告警,可通过`// @ts-ignore`进行抑制。 | 133 134**示例:** 135 136```js 137thermal.subscribeThermalLevel((level) => { 138 console.info('thermal level is: ' + level); 139}); 140``` 141 142## thermal.unsubscribeThermalLevel<sup>(deprecated)</sup> 143 144unsubscribeThermalLevel(callback?: AsyncCallback\<void>): void 145 146> **说明:**<br>从API version 9开始不再维护,建议使用[thermal.unregisterThermalLevelCallback](#thermalunregisterthermallevelcallback9)替代。 147 148取消订阅热档位变化时的回调提醒。 149 150**系统能力:** SystemCapability.PowerManager.ThermalManager 151 152**参数:** 153 154| 参数名 | 类型 | 必填 | 说明 | 155| -------- | ------------------------- | ---- | ---------------------------------------------- | 156| callback | AsyncCallback<void> | 否 | 回调函数,无返回值。不填该参数则取消所有回调。 | 157 158**示例:** 159 160```js 161thermal.unsubscribeThermalLevel(() => { 162 console.info('unsubscribe thermal level success.'); 163}); 164``` 165 166## thermal.getThermalLevel<sup>(deprecated)</sup> 167 168getThermalLevel(): ThermalLevel 169 170> **说明:**<br>从API version 9开始不再维护,建议使用[thermal.getLevel](#thermalgetlevel9)替代。 171 172获取当前热档位信息。 173 174**系统能力:** SystemCapability.PowerManager.ThermalManager 175 176**返回值:** 177 178| 类型 | 说明 | 179| ------------ | ------ | 180| ThermalLevel | 热档位信息。 | 181 182**示例:** 183 184```js 185var level = thermal.getThermalLevel(); 186console.info('thermal level is: ' + level); 187``` 188 189## ThermalLevel 190 191热档位信息。 192 193**系统能力:** SystemCapability.PowerManager.ThermalManager 194 195| 名称 | 值 | 说明 | 196| ---------- | ---- | ------------------------------------------------------------ | 197| COOL | 0 | 表明设备处于低温的状态,业务执行不受热控的限制。 | 198| NORMAL | 1 | 表明设备处于正常工作状态,但温度不低,需要注意是否临近发热状态 | 199| WARM | 2 | 表明设备已经进入温热状态,部分无感知业务需要考虑停止或延迟执行。 | 200| HOT | 3 | 表明设备已经明显发热,无感知业务应全面停止,其他业务应考虑降规格及负载。 | 201| OVERHEATED | 4 | 表明设备已经发热严重,无感知业务应全面停止,主要业务需降低规格及负载。 | 202| WARNING | 5 | 表明设备已经发热严重并且即将进入紧急状态,无感知业务应全面停止,主要业务应降低至最低规格。 | 203| EMERGENCY | 6 | 表明设备已经进入紧急状态,所有业务应当全面停止工作,可保留部分紧急求助功能。 | 204