@ohos.display (Display)
The Display module provides APIs for managing displays, such as obtaining information about the default display, obtaining information about all displays, and listening for the addition and removal of displays.
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 display from '@ohos.display';
DisplayState
Enumerates the display states.
System capability: SystemCapability.WindowManager.WindowManager.Core
Name | Value | Description |
---|---|---|
STATE_UNKNOWN | 0 | Unknown. |
STATE_OFF | 1 | The display is shut down. |
STATE_ON | 2 | The display is powered on. |
STATE_DOZE | 3 | The display is in sleep mode. |
STATE_DOZE_SUSPEND | 4 | The display is in sleep mode, and the CPU is suspended. |
STATE_VR | 5 | The display is in VR mode. |
STATE_ON_SUSPEND | 6 | The display is powered on, and the CPU is suspended. |
Rect9+
Describes a rectangle on the display.
System capability: SystemCapability.WindowManager.WindowManager.Core
Name | Type | Readable | Writable | Description |
---|---|---|---|---|
left | number | Yes | Yes | Left boundary of the rectangle, in pixels. |
top | number | Yes | Yes | Top boundary of the rectangle, in pixels. |
width | number | Yes | Yes | Width of the rectangle, in pixels. |
height | number | Yes | Yes | Height of the rectangle, in pixels. |
WaterfallDisplayAreaRects9+
Describes the curved area (an area that is not intended for displaying content) on the waterfall display.
System capability: SystemCapability.WindowManager.WindowManager.Core
Name | Type | Readable | Writable | Description |
---|---|---|---|---|
left | Rect | Yes | No | Bounding rectangle for the curved area, which is located on the left of the display surface. |
top | Rect | Yes | No | Bounding rectangle for the curved area, which is located at the top of the display surface. |
right | Rect | Yes | No | Bounding rectangle for the curved area, which is located on the right of the display surface. |
bottom | Rect | Yes | No | Bounding rectangle for the curved area, which is located at the bottom of the display surface. |
CutoutInfo9+
Describes the cutout, which is an area that is not intended for displaying content on the display.
System capability: SystemCapability.WindowManager.WindowManager.Core
Name | Type | Readable | Writable | Description |
---|---|---|---|---|
boundingRects | Array<Rect> | Yes | No | Bounding rectangle for punch holes and notches. |
waterfallDisplayAreaRects | WaterfallDisplayAreaRects | Yes | No | Curved area on the waterfall display. |
display.getDefaultDisplaySync9+
getDefaultDisplaySync(): Display
Obtains the default display object. This API returns the result synchronously.
System capability: SystemCapability.WindowManager.WindowManager.Core
Return value
Type | Description |
---|---|
Display | Default display object. |
Error codes
For details about the error codes, see Display Error Codes.
ID | Error Message |
---|---|
1400001 | Invalid display or screen. |
Example
let displayClass = null;
try {
displayClass = display.getDefaultDisplaySync();
} catch (exception) {
console.error('Failed to obtain the default display object. Code: ' + JSON.stringify(exception));
}
display.getAllDisplays9+
getAllDisplays(callback: AsyncCallback<Array<Display>>): void
Obtains all display objects. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.WindowManager.WindowManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
callback | AsyncCallback<Array<Display>> | Yes | Callback used to return all the display objects. |
Error codes
For details about the error codes, see Display Error Codes.
ID | Error Message |
---|---|
1400001 | Invalid display or screen. |
Example
let displayClass = null;
display.getAllDisplays((err, data) => {
displayClass = data;
if (err.code) {
console.error('Failed to obtain all the display objects. Code: ' + JSON.stringify(err));
return;
}
console.info('Succeeded in obtaining all the display objects. Data: ' + JSON.stringify(data));
});
display.getAllDisplays9+
getAllDisplays(): Promise<Array<Display>>
Obtains all display objects. This API uses a promise to return the result.
System capability: SystemCapability.WindowManager.WindowManager.Core
Return value
Type | Description |
---|---|
Promise<Array<Display>> | Promise used to return all the display objects. |
Error codes
For details about the error codes, see Display Error Codes.
ID | Error Message |
---|---|
1400001 | Invalid display or screen. |
Example
let displayClass = null;
let promise = display.getAllDisplays();
promise.then((data) => {
displayClass = data;
console.info('Succeeded in obtaining all the display objects. Data: ' + JSON.stringify(data));
}).catch((err) => {
console.error('Failed to obtain all the display objects. Code: ' + JSON.stringify(err));
});
display.hasPrivateWindow9+
hasPrivateWindow(displayId: number): boolean
Checks whether there is a visible privacy window on a display. The privacy window can be set by calling setWindowPrivacyMode(). The content in the privacy window cannot be captured or recorded.
System API: This is a system API.
System capability: SystemCapability.WindowManager.WindowManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
id | number | Yes | ID of the display. |
Return value
Type | Description |
---|---|
boolean | Whether there is a visible privacy window on the display. The value true means that there is a visible privacy window on the display, and false means the opposite. |
Error codes
For details about the error codes, see Display Error Codes.
ID | Error Message |
---|---|
1400003 | This display manager service works abnormally. |
Example
let displayClass = null;
try {
displayClass = display.getDefaultDisplaySync();
let ret = undefined;
try {
ret = display.hasPrivateWindow(displayClass.id);
} catch (exception) {
console.error('Failed to check has privateWindow or not. Code: ' + JSON.stringify(exception));
}
if (ret == undefined) {
console.log("Failed to check has privateWindow or not.");
}
if (ret) {
console.log("There has privateWindow.");
} else if (!ret) {
console.log("There has no privateWindow.");
}
} catch (exception) {
console.error('Failed to obtain the default display object. Code: ' + JSON.stringify(exception));
}
display.on('add'|'remove'|'change')
on(type: 'add'|'remove'|'change', callback: Callback<number>): void
Subscribes to display changes.
System capability: SystemCapability.WindowManager.WindowManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
type | string | Yes | Event type. - add, indicating the display addition event. Example: event that a display is connected. - remove, indicating the display removal event. Example: event that a display is disconnected. - change, indicating the display change event. Example: event that the display orientation is changed. |
callback | Callback<number> | Yes | Callback used to return the ID of the display. |
Example
let callback = (data) => {
console.info('Listening enabled. Data: ' + JSON.stringify(data));
};
try {
display.on("add", callback);
} catch (exception) {
console.error('Failed to register callback. Code: ' + JSON.stringify(exception));
}
display.off('add'|'remove'|'change')
off(type: 'add'|'remove'|'change', callback?: Callback<number>): void
Unsubscribes from display changes.
System capability: SystemCapability.WindowManager.WindowManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
type | string | Yes | Event type. - add, indicating the display addition event. Example: event that a display is connected. - remove, indicating the display removal event. Example: event that a display is disconnected. - change, indicating the display change event. Example: event that the display orientation is changed. |
callback | Callback<number> | No | Callback used to return the ID of the display. |
Example
try {
display.off("remove");
} catch (exception) {
console.error('Failed to unregister callback. Code: ' + JSON.stringify(exception));
}
display.getDefaultDisplay(deprecated)
getDefaultDisplay(callback: AsyncCallback<Display>): void
Obtains the default display object. 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 getDefaultDisplaySync() instead.
System capability: SystemCapability.WindowManager.WindowManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
callback | AsyncCallback<Display> | Yes | Callback used to return the default display object. |
Example
let displayClass = null;
display.getDefaultDisplay((err, data) => {
if (err.code) {
console.error('Failed to obtain the default display object. Code: ' + JSON.stringify(err));
return;
}
console.info('Succeeded in obtaining the default display object. Data:' + JSON.stringify(data));
displayClass = data;
});
display.getDefaultDisplay(deprecated)
getDefaultDisplay(): Promise<Display>
Obtains the default display object. 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 getDefaultDisplaySync() instead.
System capability: SystemCapability.WindowManager.WindowManager.Core
Return value
Type | Description |
---|---|
Promise<Display> | Promise used to return the default display object. |
Example
let displayClass = null;
let promise = display.getDefaultDisplay();
promise.then((data) => {
displayClass = data;
console.info('Succeeded in obtaining the default display object. Data:' + JSON.stringify(data));
}).catch((err) => {
console.error('Failed to obtain the default display object. Code: ' + JSON.stringify(err));
});
display.getAllDisplay(deprecated)
getAllDisplay(callback: AsyncCallback<Array<Display>>): void
Obtains all display objects. 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 getAllDisplays() instead.
System capability: SystemCapability.WindowManager.WindowManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
callback | AsyncCallback<Array<Display>> | Yes | Callback used to return all the display objects. |
Example
display.getAllDisplay((err, data) => {
if (err.code) {
console.error('Failed to obtain all the display objects. Code: ' + JSON.stringify(err));
return;
}
console.info('Succeeded in obtaining all the display objects. Data: ' + JSON.stringify(data));
});
display.getAllDisplay(deprecated)
getAllDisplay(): Promise<Array<Display>>
Obtains all display objects. 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 getAllDisplays() instead.
System capability: SystemCapability.WindowManager.WindowManager.Core
Return value
Type | Description |
---|---|
Promise<Array<Display>> | Promise used to return all the display objects. |
Example
let promise = display.getAllDisplay();
promise.then((data) => {
console.info('Succeeded in obtaining all the display objects. Data: ' + JSON.stringify(data));
}).catch((err) => {
console.error('Failed to obtain all the display objects. Code: ' + JSON.stringify(err));
});
Display
Implements a Display instance, with properties and APIs defined.
Before calling any API in Display, you must use getAllDisplays() or getDefaultDisplaySync() to obtain a Display instance.
Attributes
System capability: SystemCapability.WindowManager.WindowManager.Core
Name | Type | Readable | Writable | Description |
---|---|---|---|---|
id | number | Yes | No | ID of the display. |
name | string | Yes | No | Name of the display. |
alive | boolean | Yes | No | Whether the display is alive. |
state | DisplayState | Yes | No | State of the display. |
refreshRate | number | Yes | No | Refresh rate of the display. |
rotation | number | Yes | No | Screen rotation angle of the display. The value 0 indicates that the screen of the display rotates by 0°. The value 1 indicates that the screen of the display rotates by 90°. The value 2 indicates that the screen of the display rotates by 180°. The value 3 indicates that the screen of the display rotates by 270°. |
width | number | Yes | No | Width of the display, in pixels. |
height | number | Yes | No | Height of the display, in pixels. |
densityDPI | number | Yes | No | Screen density of the display, that is, the number of dots per inch. Generally, the value is 160 or 480. |
densityPixels | number | Yes | No | Logical density of the display, which is a scaling coefficient independent of the pixel unit. Generally, the value is 1 or 3. |
scaledDensity | number | Yes | No | Scaling factor for fonts displayed on the display. Generally, the value is the same as that of densityPixels. |
xDPI | number | Yes | No | Exact physical dots per inch of the screen in the horizontal direction. |
yDPI | number | Yes | No | Exact physical dots per inch of the screen in the vertical direction. |
getCutoutInfo9+
getCutoutInfo(callback: AsyncCallback<CutoutInfo>): void
Obtains the cutout information of the display. This API uses an asynchronous callback to return the result. You are advised not to use the cutout area during application layout.
System capability: SystemCapability.WindowManager.WindowManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
callback | AsyncCallback<CutoutInfo> | Yes | Callback used to return the CutoutInfo object. |
Error codes
For details about the error codes, see Display Error Codes.
ID | Error Message |
---|---|
1400001 | Invalid display or screen. |
Example
let displayClass = null;
try {
displayClass = display.getDefaultDisplaySync();
displayClass.getCutoutInfo((err, data) => {
if (err.code) {
console.error('Failed to get cutoutInfo. Code: ' + JSON.stringify(err));
return;
}
console.info('Succeeded in getting cutoutInfo. data: ' + JSON.stringify(data));
});
} catch (exception) {
console.error('Failed to obtain the default display object. Code: ' + JSON.stringify(exception));
}
getCutoutInfo9+
getCutoutInfo(): Promise<CutoutInfo>
Obtains the cutout information of the display. This API uses a promise to return the result. You are advised not to use the cutout area during application layout.
System capability: SystemCapability.WindowManager.WindowManager.Core
Return value
Type | Description |
---|---|
Promise<CutoutInfo> | Promise used to return the CutoutInfo object. |
Error codes
For details about the error codes, see Display Error Codes.
ID | Error Message |
---|---|
1400001 | Invalid display or screen. |
Example
let displayClass = null;
try {
displayClass = display.getDefaultDisplaySync();
let promise = displayClass.getCutoutInfo();
promise.then((data) => {
console.info('Succeeded in getting cutoutInfo. Data: ' + JSON.stringify(data));
}).catch((err) => {
console.error('Failed to obtain all the display objects. Code: ' + JSON.stringify(err));
});
} catch (exception) {
console.error('Failed to obtain the default display object. Code: ' + JSON.stringify(exception));
}