@ohos.power (Power Management)
The power module provides APIs for rebooting and shutting down the system, as well as querying the screen status. You can use these APIs to obtain the device activity status, power mode, and screen on/off status.
NOTE
The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version.
Modules to Import
import {power} from '@kit.BasicServicesKit';
power.isActive9+
isActive(): boolean
Checks whether the current device is active.
- A device with a screen is active when the screen is on and inactive when the screen is off.
- A device without a screen is active when it exits the sleep mode and inactive when it enters the sleep mode.
System capability: SystemCapability.PowerManager.PowerManager.Core
Returns
| Type | Description |
|---|---|
| boolean | Returns true if the device is active; returns false otherwise. |
Example
let isActive = power.isActive();
console.info('power is active: ' + isActive);
power.rebootDevice(deprecated)
rebootDevice(reason: string): void
Restarts the system.
NOTE
This API is supported since API version 7 and deprecated since API version 9. You are advised to use power.reboot instead. The substitute API is available only for system applications.
Required permissions: ohos.permission.REBOOT (available only for system applications)
System capability: SystemCapability.PowerManager.PowerManager.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| reason | string | Yes | Restart reason. For example, "updater" indicates entering the updater mode after the restart. If the parameter is not specified, the system enters the normal mode after the restart. |
Example
power.rebootDevice('reboot_test');
power.getPowerMode9+
getPowerMode(): DevicePowerMode
Obtains the power mode of this device.
System capability: SystemCapability.PowerManager.PowerManager.Core
Returns
| Type | Description |
|---|---|
| DevicePowerMode | Power mode. |
Example
let mode = power.getPowerMode();
console.info('power mode: ' + mode);
power.isStandby10+
isStandby(): boolean
Checks whether the device is in standby mode.
System capability: SystemCapability.PowerManager.PowerManager.Core
Returns
| Type | Description |
|---|---|
| boolean | The value true indicates that the device is in standby mode, and the value false indicates the opposite. |
Error codes
For details about the error codes, see Power Manager Error Codes.
| ID | Error Message |
|---|---|
| 4900101 | Failed to connect to the service. |
Example
try {
let isStandby = power.isStandby();
console.info('device is in standby: ' + isStandby);
} catch(err) {
console.error('check isStandby failed, err: ' + err);
}
power.isScreenOn(deprecated)
isScreenOn(callback: AsyncCallback<boolean>): void
Checks the screen status of the current device. This API uses an asynchronous callback to return the result.
NOTE
This API is supported since API version 7 and deprecated since API version 9. You are advised to use power.isActive instead.
System capability: SystemCapability.PowerManager.PowerManager.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| callback | AsyncCallback<boolean> | Yes | Callback used to return the result. If the operation is successful, err is undefined and data is the screen status obtained, where the value true indicates on and the value false indicates off. Otherwise, err is an error object. |
Example
power.isScreenOn((err: Error, data: boolean) => {
if (typeof err === 'undefined') {
console.info('screen on status is ' + data);
} else {
console.error('check screen status failed, err: ' + err);
}
})
power.isScreenOn(deprecated)
isScreenOn(): Promise<boolean>
Checks the screen status of the current device. This API uses a promise to return the result.
NOTE
This API is supported since API version 7 and deprecated since API version 9. You are advised to use power.isActive instead.
System capability: SystemCapability.PowerManager.PowerManager.Core
Returns
| Type | Description |
|---|---|
| Promise<boolean> | Promise used to return the result. The value true indicates that the screen is on, and the value false indicates the opposite. |
Example
power.isScreenOn()
.then((data: boolean) => {
console.info('screen on status is ' + data);
})
.catch((err: Error) => {
console.error('check screen status failed, err: ' + err);
})
DevicePowerMode9+
Enumerates power modes.
System capability: SystemCapability.PowerManager.PowerManager.Core
| Name | Value | Description |
|---|---|---|
| MODE_NORMAL | 600 | Standard mode. It is the default value. |
| MODE_POWER_SAVE | 601 | Power saving mode. |
| MODE_PERFORMANCE | 602 | Performance mode. |
| MODE_EXTREME_POWER_SAVE | 603 | Ultra power saving mode. |
| MODE_CUSTOM_POWER_SAVE20+ | 650 | Custom power saving mode. |
PowerKeyFilteringStrategy21+
Enumerates the power key filtering strategies.
System capability: SystemCapability.PowerManager.PowerManager.Core
| Name | Value | Description |
|---|---|---|
| DISABLE_LONG_PRESS_FILTERING | 0 | Disable the filtering of power key long-press event. This is the default value. |
| LONG_PRESS_FILTERING_ONCE | 1 | Filters the current power key long-press event once. Subsequent long-press events are not filtered by default. |