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