当前位置:   article > 正文

HarmonyOS实战开发:@ohos.display (屏幕属性)_this.promise.then((data: array) =

this.promise.then((data: array) =>

屏幕属性提供管理显示设备的一些基础能力,包括获取默认显示设备的信息,获取所有显示设备的信息以及监听显示设备的插拔行为。

说明:

本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import display from '@ohos.display';

DisplayState

显示设备的状态枚举。

系统能力: SystemCapability.WindowManager.WindowManager.Core

名称说明
STATE_UNKNOWN0表示显示设备状态未知。
STATE_OFF1表示显示设备状态为关闭。
STATE_ON2表示显示设备状态为开启。
STATE_DOZE3表示显示设备为低电耗模式。
STATE_DOZE_SUSPEND4表示显示设备为睡眠模式,CPU为挂起状态。
STATE_VR5表示显示设备为VR模式。
STATE_ON_SUSPEND6表示显示设备为开启状态,CPU为挂起状态。

Orientation10+

显示设备当前显示的方向枚举。

系统能力: SystemCapability.WindowManager.WindowManager.Core

名称说明
PORTRAIT0表示设备当前以竖屏方式显示。
LANDSCAPE1表示设备当前以横屏方式显示。
PORTRAIT_INVERTED2表示设备当前以反向竖屏方式显示。
LANDSCAPE_INVERTED3表示设备当前以反向横屏方式显示。

FoldStatus10+

当前可折叠设备的折叠状态枚举。

系统能力: SystemCapability.Window.SessionManager

名称说明
FOLD_STATUS_UNKNOWN0表示设备当前折叠状态未知。
FOLD_STATUS_EXPANDED1表示设备当前折叠状态为完全展开。
FOLD_STATUS_FOLDED2表示设备当前折叠状态为折叠。
FOLD_STATUS_HALF_FOLDED3表示设备当前折叠状态为半折叠。半折叠指完全展开和折叠之间的状态。

FoldDisplayMode10+

可折叠设备的显示模式枚举。

系统能力: SystemCapability.Window.SessionManager

名称说明
FOLD_DISPLAY_MODE_UNKNOWN0表示设备当前折叠显示模式未知。
FOLD_DISPLAY_MODE_FULL1表示设备当前全屏显示。
FOLD_DISPLAY_MODE_MAIN2表示设备当前主屏幕显示。
FOLD_DISPLAY_MODE_SUB3表示设备当前子屏幕显示。
FOLD_DISPLAY_MODE_COORDINATION4表示设备当前双屏协同显示。

FoldCreaseRegion10+

折叠折痕区域。

系统能力: SystemCapability.Window.SessionManager

名称类型可读可写说明
displayId显示器ID,用于识别折痕所在的屏幕。
creaseRectsArray<Rect>折痕区域。

Rect9+

矩形区域。

系统能力: SystemCapability.WindowManager.WindowManager.Core

名称类型可读可写说明
left矩形区域的左边界,单位为像素,该参数应为整数。
top矩形区域的上边界,单位为像素,该参数应为整数。
宽度矩形区域的宽度,单位为像素,该参数应为整数。
height矩形区域的高度,单位为像素,该参数应为整数。

WaterfallDisplayAreaRects9+

瀑布屏曲面部分显示区域。

系统能力: SystemCapability.WindowManager.WindowManager.Core

名称类型可读可写说明
leftRect瀑布曲面区域的左侧矩形区域。
topRect瀑布曲面区域的顶部矩形区域。
rightRect瀑布曲面区域的右侧矩形区域。
Rect瀑布曲面区域的底部矩形区域。

CutoutInfo9+

挖孔屏、刘海屏、瀑布屏等不可用屏幕区域信息。

系统能力: SystemCapability.WindowManager.WindowManager.Core

名称类型可读可写说明
boundingRectsArray<Rect>挖孔、刘海等区域的边界矩形。
waterfallDisplayAreaRectsWaterfallDisplayAreaRects瀑布屏曲面部分显示区域。

display.getDefaultDisplaySync9+

getDefaultDisplaySync(): Display

获取当前默认的display对象。

系统能力: SystemCapability.WindowManager.WindowManager.Core

返回值:

类型说明
Display返回默认的display对象。

错误码:

以下错误码的详细介绍请参见屏幕错误码

错误码ID错误信息
1400001Invalid display or screen.

示例:

  1. import display from '@ohos.display';
  2. let displayClass: display.Display | null = null;
  3. try {
  4. displayClass = display.getDefaultDisplaySync();
  5. } catch (exception) {
  6. console.error('Failed to obtain the default display object. Code: ' + JSON.stringify(exception));
  7. }

display.getAllDisplays9+

getAllDisplays(callback: AsyncCallback<Array<Display>>): void

获取当前所有的display对象,使用callback异步回调。

系统能力: SystemCapability.WindowManager.WindowManager.Core

参数:

参数名类型必填说明
回调AsyncCallback<Array<Display>>回调函数。返回当前所有的display对象。

错误码:

以下错误码的详细介绍请参见屏幕错误码

错误码ID错误信息
1400001Invalid display or screen.

示例:

  1. import { BusinessError } from '@ohos.base';
  2. import display from '@ohos.display';
  3. let displayClass: Array<display.Display> = [];
  4. display.getAllDisplays((err: BusinessError, data: Array<display.Display>) => {
  5. displayClass = data;
  6. const errCode: number = err.code;
  7. if (errCode) {
  8. console.error('Failed to obtain all the display objects. Code: ' + JSON.stringify(err));
  9. return;
  10. }
  11. console.info('Succeeded in obtaining all the display objects. Data: ' + JSON.stringify(data));
  12. });

display.getAllDisplays9+

getAllDisplays(): Promise<Array<Display>>

获取当前所有的display对象,使用Promise异步回调。

系统能力: SystemCapability.WindowManager.WindowManager.Core

返回值:

类型说明
Promise<Array<Display>>Promise对象。返回当前所有的display对象。

错误码:

以下错误码的详细介绍请参见屏幕错误码

错误码ID错误信息
1400001Invalid display or screen.

示例:

  1. import { BusinessError } from '@ohos.base';
  2. import display from '@ohos.display';
  3. let displayClass: Array<display.Display> =[];
  4. let promise: Promise<Array<display.Display>> = display.getAllDisplays();
  5. promise.then((data: Array<display.Display>) => {
  6. displayClass = data;
  7. console.info('Succeeded in obtaining all the display objects. Data: ' + JSON.stringify(data));
  8. }).catch((err: BusinessError) => {
  9. console.error('Failed to obtain all the display objects. Code: ' + JSON.stringify(err));
  10. });

display.hasPrivateWindow9+

hasPrivateWindow(displayId: number): boolean

查询指定display对象上是否有可见的隐私窗口。可通过setWindowPrivacyMode()接口设置隐私窗口。隐私窗口内容将无法被截屏或录屏。

系统接口: 此接口为系统接口。

系统能力: SystemCapability.WindowManager.WindowManager.Core

参数:

参数名类型必填说明
同上显示设备的id,该参数仅支持整数输入。

返回值:

类型说明
布尔查询的display对象上是否有可见的隐私窗口。
true表示此display对象上有可见的隐私窗口,false表示此display对象上没有可见的隐私窗口。

错误码:

以下错误码的详细介绍请参见屏幕错误码

错误码ID错误信息
1400003This display manager service works abnormally.

示例:

  1. import display from '@ohos.display';
  2. let displayClass: display.Display | null = null;
  3. try {
  4. displayClass = display.getDefaultDisplaySync();
  5. let ret: boolean = true;
  6. try {
  7. ret = display.hasPrivateWindow(displayClass.id);
  8. } catch (exception) {
  9. console.error('Failed to check has privateWindow or not. Code: ' + JSON.stringify(exception));
  10. }
  11. if (ret == undefined) {
  12. console.log("Failed to check has privateWindow or not.");
  13. }
  14. if (ret) {
  15. console.log("There has privateWindow.");
  16. } else if (!ret) {
  17. console.log("There has no privateWindow.");
  18. }
  19. } catch (exception) {
  20. console.error('Failed to obtain the default display object. Code: ' + JSON.stringify(exception));
  21. }

display.on('add'|'remove'|'change')

on(type: 'add'|'remove'|'change', callback: Callback<number>): void

开启显示设备变化的监听。

系统能力: SystemCapability.WindowManager.WindowManager.Core

参数:

参数名类型必填说明
类型字符串监听事件。
- type为"add",表示增加显示设备事件。例如:插入显示器。
- type为"remove",表示移除显示设备事件。例如:移除显示器。
- type为"change",表示改变显示设备事件。例如:显示器方向改变。
回调Callback<number>回调函数。返回监听到的显示设备的id,该参数应为整数。

示例:

  1. import { Callback } from '@ohos.base';
  2. let callback: Callback<number> = (data: number) => {
  3. console.info('Listening enabled. Data: ' + JSON.stringify(data));
  4. };
  5. try {
  6. display.on("add", callback);
  7. } catch (exception) {
  8. console.error('Failed to register callback. Code: ' + JSON.stringify(exception));
  9. }

display.off('add'|'remove'|'change')

off(type: 'add'|'remove'|'change', callback?: Callback<number>): void

关闭显示设备变化的监听。

系统能力: SystemCapability.WindowManager.WindowManager.Core

参数:

参数名类型必填说明
类型字符串监听事件。
- type为"add",表示增加显示设备事件。例如:插入显示器。
- type为"remove",表示移除显示设备事件。例如:移除显示器。
- type为"change",表示改变显示设备事件。例如:显示器方向改变。
回调Callback<number>回调函数。返回监听到的显示设备的id,该参数应为整数。

示例:

  1. try {
  2. display.off("remove");
  3. } catch (exception) {
  4. console.error('Failed to unregister callback. Code: ' + JSON.stringify(exception));
  5. }

display.on('privateModeChange')10+

on(type: 'privateModeChange', callback: Callback<boolean>): void

开启屏幕隐私模式变化的监听。当屏幕前台有隐私窗口,则屏幕处于隐私模式,屏幕中的隐私窗口内容无法被截屏或录屏。

系统接口: 此接口为系统接口。

系统能力: SystemCapability.WindowManager.WindowManager.Core

参数:

参数名类型必填说明
类型字符串监听事件,固定为'privateModeChange',表示屏幕隐私模式状态发生变化。
回调Callback<boolean>回调函数。表示屏幕隐私模式是否改变。true表示屏幕由非隐私窗口模式变为隐私模式,false表示屏幕由隐私模式变为非隐私模式。

示例:

  1. import { Callback } from '@ohos.base';
  2. let callback: Callback<boolean> = (data: boolean) => {
  3. console.info('Listening enabled. Data: ' + JSON.stringify(data));
  4. };
  5. try {
  6. display.on("privateModeChange", callback);
  7. } catch (exception) {
  8. console.error('Failed to register callback. Code: ' + JSON.stringify(exception));
  9. }

display.off('privateModeChange')10+

off(type: 'privateModeChange', callback?: Callback<boolean>): void

关闭屏幕隐私模式变化的监听。当屏幕前台有隐私窗口,则屏幕处于隐私模式,屏幕中的隐私窗口内容无法被截屏或录屏。

系统接口: 此接口为系统接口。

系统能力: SystemCapability.WindowManager.WindowManager.Core

参数:

参数名类型必填说明
类型字符串监听事件,固定为'privateModeChange',表示屏幕隐私模式状态发生变化。
回调Callback<boolean>回调函数。表示屏幕隐私模式是否改变。true表示屏幕由非隐私模式变为隐私模式,false表示屏幕由隐私模式变为非隐私模式。

示例:

  1. try {
  2. display.off("privateModeChange");
  3. } catch (exception) {
  4. console.error('Failed to unregister callback. Code: ' + JSON.stringify(exception));
  5. }

display.isFoldable10+

isFoldable(): boolean

检查设备是否可折叠。

系统能力: SystemCapability.Window.SessionManager

返回值:

类型说明
布尔boolean对象,返回当前设备是否可折叠的结果。false表示不可折叠,true表示可折叠。

错误码:

以下错误码的详细介绍请参见屏幕错误码

错误码ID错误信息
1400003This display manager service works abnormally.

示例:

  1. import display from '@ohos.display';
  2. let displayClass: display.Display | null = null;
  3. try {
  4. displayClass = display.getDefaultDisplaySync();
  5. let ret: boolean = false;
  6. try {
  7. ret = display.isFoldable();
  8. } catch (exception) {
  9. console.error('Failed to check is foldable or not. Code: ' + JSON.stringify(exception));
  10. }
  11. if (ret == undefined) {
  12. console.log("Failed to check is foldable or not.");
  13. }
  14. if (ret) {
  15. console.log("The device is foldable.");
  16. } else if (!ret) {
  17. console.log("The device is not foldable.");
  18. }
  19. } catch (exception) {
  20. console.error('Failed to obtain the default display object. Code: ' + JSON.stringify(exception));
  21. }

display.setFoldDisplayMode10+

setFoldDisplayMode(mode: FoldDisplayMode): void

更改可折叠设备的显示模式。

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Window.SessionManager

参数:

参数名类型必填说明
模式FoldDisplayMode可折叠设备的显示模式。

错误码:

以下错误码的详细介绍请参见屏幕错误码

错误码ID错误信息
1400003This display manager service works abnormally.

示例:

  1. import display from '@ohos.display';
  2. try {
  3. let mode: display.FoldDisplayMode = display.FoldDisplayMode.FOLD_DISPLAY_MODE_FULL;
  4. display.setFoldDisplayMode(mode);
  5. } catch (exception) {
  6. console.error('Failed to change the fold display mode. Code: ' + JSON.stringify(exception));
  7. }

display.getFoldStatus10+

getFoldStatus(): FoldStatus

获取可折叠设备的当前折叠状态。

系统能力: SystemCapability.Window.SessionManager

返回值:

类型说明
FoldStatusFoldStatus对象,返回当前可折叠设备的折叠状态。

错误码:

以下错误码的详细介绍请参见屏幕错误码

错误码ID错误信息
1400003This display manager service works abnormally.

示例:

  1. import display from '@ohos.display';
  2. try {
  3. display.getFoldStatus();
  4. } catch (exception) {
  5. console.error('Failed to obtain the fold status. Code: ' + JSON.stringify(exception));
  6. }

display.getFoldDisplayMode10+

getFoldDisplayMode(): FoldDisplayMode

获取可折叠设备的显示模式。

系统能力: SystemCapability.Window.SessionManager

返回值:

类型说明
FoldDisplayModeFoldDisplayMode对象,返回当前可折叠设备的显示模式。

错误码:

以下错误码的详细介绍请参见屏幕错误码

错误码ID错误信息
1400003This display manager service works abnormally.

示例:

  1. import display from '@ohos.display';
  2. try {
  3. display.getFoldDisplayMode();
  4. } catch (exception) {
  5. console.error('Failed to obtain the fold display mode. Code: ' + JSON.stringify(exception));
  6. }

display.getCurrentFoldCreaseRegion10+

getCurrentFoldCreaseRegion(): FoldCreaseRegion

在当前显示模式下获取折叠折痕区域。

系统能力: SystemCapability.Window.SessionManager

返回值:

类型说明
FoldCreaseRegionFoldCreaseRegion对象,返回设备在当前显示模式下的折叠折痕区域。

错误码:

以下错误码的详细介绍请参见屏幕错误码

错误码ID错误信息
1400003This display manager service works abnormally.

示例:

  1. import display from '@ohos.display';
  2. try {
  3. display.getCurrentFoldCreaseRegion();
  4. } catch (exception) {
  5. console.error('Failed to obtain the current fold crease region. Code: ' + JSON.stringify(exception));
  6. }

display.on('foldStatusChange')10+

on(type: 'foldStatusChange', callback: Callback<FoldStatus>): void

开启折叠设备折叠状态变化的监听。

系统能力: SystemCapability.Window.SessionManager

参数:

参数名类型必填说明
类型字符串监听事件,固定为'foldStatusChange',表示折叠设备折叠状态发生变化。
回调Callback<FoldStatus>回调函数。表示折叠设备折叠状态。

错误码:

以下错误码的详细介绍请参见屏幕错误码

错误码ID错误信息
1400003This display manager service works abnormally.

示例:

  1. import { Callback } from '@ohos.base';
  2. let callback: Callback<display.FoldStatus> = (data: display.FoldStatus) => {
  3. console.info('Listening enabled. Data: ' + JSON.stringify(data));
  4. };
  5. try {
  6. display.on('foldStatusChange', callback);
  7. } catch (exception) {
  8. console.error('Failed to register callback. Code: ' + JSON.stringify(exception));
  9. }

display.off('foldStatusChange')10+

off(type: 'foldStatusChange', callback?: Callback<FoldStatus>): void

关闭折叠设备折叠状态变化的监听。

系统能力: SystemCapability.Window.SessionManager

参数:

参数名类型必填说明
类型字符串监听事件,固定为'foldStatusChange',表示折叠设备折叠状态发生变化。
回调Callback<FoldStatus>回调函数。表示折叠设备的折叠状态。

错误码:

以下错误码的详细介绍请参见屏幕错误码

错误码ID错误信息
1400003This display manager service works abnormally.

示例:

  1. try {
  2. display.off('foldStatusChange');
  3. } catch (exception) {
  4. console.error('Failed to unregister callback. Code: ' + JSON.stringify(exception));
  5. }

display.on('foldDisplayModeChange')10+

on(type: 'foldDisplayModeChange', callback: Callback<FoldDisplayMode>): void

开启折叠设备屏幕显示模式变化的监听。

系统能力: SystemCapability.Window.SessionManager

参数:

参数名类型必填说明
类型字符串监听事件,固定为'foldDisplayModeChange',表示折叠设备屏幕显示模式发生变化。
回调Callback<FoldDisplayMode>回调函数。表示折叠设备屏幕显示模式。

错误码:

以下错误码的详细介绍请参见屏幕错误码

错误码ID错误信息
1400003This display manager service works abnormally.

示例:

  1. import { Callback } from '@ohos.base';
  2. let callback: Callback<display.FoldDisplayMode> = (data: display.FoldDisplayMode) => {
  3. console.info('Listening enabled. Data: ' + JSON.stringify(data));
  4. };
  5. try {
  6. display.on('foldDisplayModeChange', callback);
  7. } catch (exception) {
  8. console.error('Failed to register callback. Code: ' + JSON.stringify(exception));
  9. }

display.off('foldDisplayModeChange')10+

off(type: 'foldDisplayModeChange', callback?: Callback<FoldDisplayMode>): void

关闭折叠设备屏幕显示模式变化的监听。

系统能力: SystemCapability.Window.SessionManager

参数:

参数名类型必填说明
类型字符串监听事件,固定为'foldDisplayModeChange',表示折叠设备屏幕显示模式发生变化。
回调Callback<FoldDisplayMode>回调函数。表示折叠设备屏幕显示模式。

错误码:

以下错误码的详细介绍请参见屏幕错误码

错误码ID错误信息
1400003This display manager service works abnormally.

示例:

  1. try {
  2. display.off('foldDisplayModeChange');
  3. } catch (exception) {
  4. console.error('Failed to unregister callback. Code: ' + JSON.stringify(exception));
  5. }

display.getDefaultDisplay(deprecated)

getDefaultDisplay(callback: AsyncCallback<Display>): void

获取当前默认的display对象,使用callback异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃,推荐使用getDefaultDisplaySync()

系统能力: SystemCapability.WindowManager.WindowManager.Core

参数:

参数名类型必填说明
回调AsyncCallback<Display>回调函数。返回当前默认的display对象。

示例:

  1. import { BusinessError } from '@ohos.base';
  2. let displayClass: display.Display | null = null;
  3. display.getDefaultDisplay((err: BusinessError, data: display.Display) => {
  4. const errCode: number = err.code;
  5. if (errCode) {
  6. console.error('Failed to obtain the default display object. Code: ' + JSON.stringify(err));
  7. return;
  8. }
  9. console.info('Succeeded in obtaining the default display object. Data:' + JSON.stringify(data));
  10. displayClass = data;
  11. });

display.getDefaultDisplay(deprecated)

getDefaultDisplay(): Promise<Display>

获取当前默认的display对象,使用Promise异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃,推荐使用getDefaultDisplaySync()

系统能力: SystemCapability.WindowManager.WindowManager.Core

返回值:

类型说明
Promise<Display>Promise对象。返回当前默认的display对象。

示例:

  1. import { BusinessError } from '@ohos.base';
  2. let displayClass: display.Display | null = null;
  3. let promise: Promise<display.Display> = display.getDefaultDisplay();
  4. promise.then((data: display.Display) => {
  5. displayClass = data;
  6. console.info('Succeeded in obtaining the default display object. Data:' + JSON.stringify(data));
  7. }).catch((err: BusinessError) => {
  8. console.error('Failed to obtain the default display object. Code: ' + JSON.stringify(err));
  9. });

display.getAllDisplay(deprecated)

getAllDisplay(callback: AsyncCallback<Array<Display>>): void

获取当前所有的display对象,使用callback异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃,推荐使用getAllDisplays()

系统能力: SystemCapability.WindowManager.WindowManager.Core

参数:

参数名类型必填说明
回调AsyncCallback<Array<Display>>回调函数。返回当前所有的display对象。

示例:

  1. import { BusinessError } from '@ohos.base';
  2. display.getAllDisplay((err: BusinessError, data: Array<display.Display>) => {
  3. const errCode: number = err.code;
  4. if (errCode) {
  5. console.error('Failed to obtain all the display objects. Code: ' + JSON.stringify(err));
  6. return;
  7. }
  8. console.info('Succeeded in obtaining all the display objects. Data: ' + JSON.stringify(data));
  9. });

display.getAllDisplay(deprecated)

getAllDisplay(): Promise<Array<Display>>

获取当前所有的display对象,使用Promise异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃,推荐使用getAllDisplays()

系统能力: SystemCapability.WindowManager.WindowManager.Core

返回值:

类型说明
Promise<Array<Display>>Promise对象。返回当前所有的display对象。

示例:

  1. import { BusinessError } from '@ohos.base';
  2. let promise: Promise<Array<display.Display>> = display.getAllDisplay();
  3. promise.then((data: Array<display.Display>) => {
  4. console.info('Succeeded in obtaining all the display objects. Data: ' + JSON.stringify(data));
  5. }).catch((err: BusinessError) => {
  6. console.error('Failed to obtain all the display objects. Code: ' + JSON.stringify(err));
  7. });

Display

屏幕实例。描述display对象的属性和方法。

下列API示例中都需先使用getAllDisplays()getDefaultDisplaySync()中的任一方法获取到Display实例,再通过此实例调用对应方法。

属性

系统能力: SystemCapability.WindowManager.WindowManager.Core

名称类型可读可写说明
同上显示设备的id号,该参数应为整数。
名字字符串显示设备的名称。
alive布尔显示设备是否启用。
stateDisplayState显示设备的状态。
refreshRate显示设备的刷新率,该参数应为整数。
rotation显示设备的屏幕顺时针旋转角度。
值为0时,表示显示设备屏幕顺时针旋转为0°;
值为1时,表示显示设备屏幕顺时针旋转为90°;
值为2时,表示显示设备屏幕顺时针旋转为180°;
值为3时,表示显示设备屏幕顺时针旋转为270°。
宽度显示设备的宽度,单位为像素,该参数应为整数。
height显示设备的高度,单位为像素,该参数应为整数。
densityDPI显示设备的屏幕密度,表示每英寸点数。该参数为浮点数,一般取值160.0、480.0等。
orientation10+Orientation表示屏幕当前显示的方向。
densityPixels显示设备的逻辑密度,是像素单位无关的缩放系数。该参数为浮点数,一般取值1.0、3.0等。
scaledDensity显示设备的显示字体的缩放因子。该参数为浮点数,通常与densityPixels相同。
xDPIx方向中每英寸屏幕的确切物理像素值,该参数为浮点数。
yDPIy方向中每英寸屏幕的确切物理像素值,该参数为浮点数。

getCutoutInfo9+

getCutoutInfo(callback: AsyncCallback<CutoutInfo>): void

获取挖孔屏、刘海屏、瀑布屏等不可用屏幕区域信息。使用callback异步回调。建议应用布局规避该区域。

系统能力: SystemCapability.WindowManager.WindowManager.Core

参数:

参数名类型必填说明
回调AsyncCallback<CutoutInfo>回调函数。返回描述不可用屏幕区域的CutoutInfo对象。

错误码:

以下错误码的详细介绍请参见屏幕错误码

错误码ID错误信息
1400001Invalid display or screen.

示例:

  1. import { BusinessError } from '@ohos.base';
  2. let displayClass: display.Display | null = null;
  3. try {
  4. displayClass = display.getDefaultDisplaySync();
  5. displayClass.getCutoutInfo((err: BusinessError, data: display.CutoutInfo) => {
  6. const errCode: number = err.code;
  7. if (errCode) {
  8. console.error('Failed to get cutoutInfo. Code: ' + JSON.stringify(err));
  9. return;
  10. }
  11. console.info('Succeeded in getting cutoutInfo. data: ' + JSON.stringify(data));
  12. });
  13. } catch (exception) {
  14. console.error('Failed to obtain the default display object. Code: ' + JSON.stringify(exception));
  15. }

getCutoutInfo9+

getCutoutInfo(): Promise<CutoutInfo>

获取挖孔屏、刘海屏、瀑布屏等不可用屏幕区域信息。使用Promise异步回调。建议应用布局规避该区域。

系统能力: SystemCapability.WindowManager.WindowManager.Core

返回值:

类型说明
Promise<CutoutInfo>Promise对象。返回描述不可用屏幕区域的CutoutInfo对象。

错误码:

以下错误码的详细介绍请参见屏幕错误码

错误码ID错误信息
1400001Invalid display or screen.

示例:

  1. import { BusinessError } from '@ohos.base';
  2. let displayClass: display.Display | null = null;
  3. try {
  4. displayClass = display.getDefaultDisplaySync();
  5. let promise: Promise<display.CutoutInfo> = displayClass.getCutoutInfo();
  6. promise.then((data: display.CutoutInfo) => {
  7. console.info('Succeeded in getting cutoutInfo. Data: ' + JSON.stringify(data));
  8. }).catch((err: BusinessError) => {
  9. console.error('Failed to obtain all the display objects. Code: ' + JSON.stringify(err));
  10. });
  11. } catch (exception) {
  12. console.error('Failed to obtain the default display object. Code: ' + JSON.stringify(exception));
  13. }

最后

有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(HarmonyOS NEXT)资料用来跟着学习是非常有必要的。 

这份鸿蒙(HarmonyOS NEXT)资料包含了鸿蒙开发必掌握的核心知识要点,内容包含了ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(HarmonyOS NEXT)技术知识点。

希望这一份鸿蒙学习资料能够给大家带来帮助,有需要的小伙伴自行领取,限时开源,先到先得~无套路领取!!

获取这份完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS学习资料

鸿蒙(HarmonyOS NEXT)最新学习路线

  •  HarmonOS基础技能

  • HarmonOS就业必备技能 
  •  HarmonOS多媒体技术

  • 鸿蒙NaPi组件进阶

  • HarmonOS高级技能

  • 初识HarmonOS内核 
  • 实战就业级设备开发

有了路线图,怎么能没有学习资料呢,小编也准备了一份联合鸿蒙官方发布笔记整理收纳的一套系统性的鸿蒙(OpenHarmony )学习手册(共计1236页)鸿蒙(OpenHarmony )开发入门教学视频,内容包含:ArkTS、ArkUI、Web开发、应用模型、资源分类…等知识点。

获取以上完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS学习资料

《鸿蒙 (OpenHarmony)开发入门教学视频》

《鸿蒙生态应用开发V2.0白皮书》

图片

《鸿蒙 (OpenHarmony)开发基础到实战手册》

OpenHarmony北向、南向开发环境搭建

图片

 《鸿蒙开发基础》

  • ArkTS语言
  • 安装DevEco Studio
  • 运用你的第一个ArkTS应用
  • ArkUI声明式UI开发
  • .……

图片

 《鸿蒙开发进阶》

  • Stage模型入门
  • 网络管理
  • 数据管理
  • 电话服务
  • 分布式应用开发
  • 通知与窗口管理
  • 多媒体技术
  • 安全技能
  • 任务管理
  • WebGL
  • 国际化开发
  • 应用测试
  • DFX面向未来设计
  • 鸿蒙系统移植和裁剪定制
  • ……

图片

《鸿蒙进阶实战》

  • ArkTS实践
  • UIAbility应用
  • 网络案例
  • ……

图片

 获取以上完整鸿蒙HarmonyOS学习资料,请点击→纯血版全套鸿蒙HarmonyOS学习资料

总结

总的来说,华为鸿蒙不再兼容安卓,对中年程序员来说是一个挑战,也是一个机会。只有积极应对变化,不断学习和提升自己,他们才能在这个变革的时代中立于不败之地。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/709699
推荐阅读
相关标签
  

闽ICP备14008679号