Mô tả
Dùng API system.display
để truy vấn siêu dữ liệu hiển thị.
Quyền
system.display
Loại
ActiveState
Một enum cho biết hệ thống có phát hiện và sử dụng màn hình hay không. Màn hình được coi là "không hoạt động" nếu hệ thống không phát hiện thấy màn hình (có thể bị ngắt kết nối hoặc được coi là bị ngắt kết nối do chế độ ngủ, v.v.). Trạng thái này được dùng để giữ màn hình hiện có khi tất cả màn hình bị ngắt kết nối, chẳng hạn.
Enum
"active"
"không hoạt động"
Bounds
Thuộc tính
- độ cao
số
Chiều cao của màn hình tính bằng pixel.
- trái
số
Toạ độ x của góc trên cùng bên trái.
- trên cùng
số
Toạ độ y của góc trên cùng bên trái.
- chiều rộng
số
Chiều rộng của màn hình tính bằng pixel.
DisplayLayout
Thuộc tính
- id
chuỗi
Giá trị nhận dạng riêng biệt của màn hình.
- bù trừ
số
Độ lệch của màn hình dọc theo cạnh được kết nối. 0 cho biết các góc trên cùng hoặc ngoài cùng bên trái được căn chỉnh.
- parentId
chuỗi
Giá trị nhận dạng riêng biệt của màn hình chính. Để trống nếu đây là thư mục gốc.
- position
Vị trí bố cục của màn hình này so với màn hình gốc. Tham số này sẽ bị bỏ qua đối với thư mục gốc.
DisplayMode
Thuộc tính
- deviceScaleFactor
số
Hệ số tỷ lệ thiết bị của chế độ hiển thị.
- độ cao
số
Chiều cao của chế độ hiển thị tính bằng pixel độc lập với thiết bị (người dùng nhìn thấy).
- heightInNativePixels
số
Chiều cao của chế độ hiển thị tính bằng pixel gốc.
- isInterlaced
boolean không bắt buộc
Chrome 74 trở lênĐúng nếu chế độ này là chế độ xen kẽ, sai nếu không được cung cấp.
- isNative
boolean
Đúng nếu chế độ này là chế độ gốc của màn hình.
- isSelected
boolean
Đúng nếu chế độ hiển thị hiện được chọn.
- refreshRate
số
Chrome 67 trở lênTốc độ làm mới chế độ hiển thị tính bằng hertz.
- uiScale
number không bắt buộc
Không dùng nữa kể từ Chrome 70Sử dụng
displayZoomFactor
Hệ số tỷ lệ giao diện người dùng của chế độ hiển thị.
- chiều rộng
số
Chiều rộng của chế độ hiển thị tính bằng pixel độc lập với thiết bị (người dùng nhìn thấy).
- widthInNativePixels
số
Chiều rộng của chế độ hiển thị tính bằng pixel gốc.
DisplayProperties
Thuộc tính
- boundsOriginX
number không bắt buộc
Nếu được đặt, sẽ cập nhật nguồn gốc ranh giới logic của màn hình dọc theo trục x. Được áp dụng cùng với
boundsOriginY
. Mặc định là giá trị hiện tại nếu bạn không đặt vàboundsOriginY
được đặt. Xin lưu ý rằng khi cập nhật nguồn gốc hiển thị, một số ràng buộc sẽ được áp dụng, vì vậy nguồn gốc ranh giới cuối cùng có thể khác với nguồn gốc đã đặt. Bạn có thể truy xuất ranh giới cuối cùng bằng cách sử dụnggetInfo
. Không thể thay đổi nguồn gốc ranh giới trên màn hình chính. - boundsOriginY
number không bắt buộc
Nếu được đặt, sẽ cập nhật nguồn gốc ranh giới logic của màn hình dọc theo trục y. Xem tài liệu về tham số
boundsOriginX
. - displayMode
DisplayMode không bắt buộc
Chrome 52 trở lênNếu được đặt, sẽ cập nhật chế độ hiển thị thành chế độ khớp với giá trị này. Nếu các tham số khác không hợp lệ, thì tham số này sẽ không được áp dụng. Nếu chế độ hiển thị không hợp lệ, thì chế độ này sẽ không được áp dụng và một lỗi sẽ được đặt, nhưng các thuộc tính khác vẫn sẽ được áp dụng.
- displayZoomFactor
number không bắt buộc
Chrome 65 trở lênNếu được đặt, sẽ cập nhật mức thu phóng được liên kết với màn hình. Thao tác thu phóng này sẽ bố trí lại và vẽ lại, nhờ đó mang lại chất lượng thu phóng tốt hơn so với việc chỉ thực hiện thao tác phóng to theo từng điểm ảnh.
- isPrimary
boolean không bắt buộc
Nếu bạn đặt chính sách này thành true, màn hình sẽ là màn hình chính. Không hoạt động nếu bạn đặt thành false. Lưu ý: Nếu được đặt, màn hình sẽ được coi là màn hình chính cho tất cả các thuộc tính khác (tức là bạn có thể đặt
isUnified
và không thể đặt nguồn gốc ranh giới). - isUnified
boolean không bắt buộc
Chrome 59 trở lênChỉ trên ChromeOS. Nếu bạn đặt chính sách này thành true, thì chế độ hiển thị sẽ thay đổi thành màn hình hợp nhất (xem phần
enableUnifiedDesktop
để biết thông tin chi tiết). Nếu bạn đặt chính sách này thành false, thì chế độ màn hình hợp nhất sẽ bị tắt. Chế độ này chỉ hợp lệ cho màn hình chính. Nếu được cung cấp, bạn không được cung cấp mirroringSourceId và các thuộc tính khác sẽ bị bỏ qua. Tham số này không có hiệu lực nếu bạn không cung cấp. - mirroringSourceId
chuỗi không bắt buộc
Không dùng nữa kể từ Chrome 68Sử dụng
setMirrorMode
.Chỉ trên ChromeOS. Nếu bạn đặt và không để trống, thì chế độ này sẽ chỉ cho phép phản chiếu cho màn hình này. Nếu không, tính năng phản chiếu sẽ bị tắt cho tất cả màn hình. Giá trị này phải cho biết mã nhận dạng của màn hình nguồn cần phản chiếu, mã này không được giống với mã nhận dạng được truyền đến setDisplayProperties. Nếu bạn đặt thuộc tính này, thì không được đặt thuộc tính nào khác.
- overscan
Phần lồng ghép không bắt buộc
Nếu được đặt, sẽ đặt phần lồng ghép quét quá mức của màn hình thành các giá trị được cung cấp. Xin lưu ý rằng các giá trị quét quá mức không được là số âm hoặc lớn hơn một nửa kích thước màn hình. Bạn không thể thay đổi chế độ quét tràn trên màn hình nội bộ.
- xoay
number không bắt buộc
Nếu được đặt, sẽ cập nhật hướng xoay của màn hình. Các giá trị hợp lệ là [0, 90, 180, 270]. Chế độ xoay được đặt theo chiều kim đồng hồ, tương ứng với vị trí dọc của màn hình.
DisplayUnitInfo
Thuộc tính
- activeStateChrome 117 trở lên
Đang hoạt động nếu hệ thống phát hiện và sử dụng màn hình.
- availableDisplayZoomFactors
number[]
Chrome 67 trở lênDanh sách các giá trị hệ số thu phóng có thể được đặt cho màn hình.
- ranh giới
Ranh giới logic của màn hình.
- displayZoomFactor
số
Chrome 65 trở lênTỷ lệ giữa mức thu phóng hiện tại và mức thu phóng mặc định của màn hình. Ví dụ: giá trị 1 tương đương với mức thu phóng 100% và giá trị 1,5 tương đương với mức thu phóng 150%.
- dpiX
số
Số pixel trên mỗi inch dọc theo trục x.
- dpiY
số
Số pixel trên mỗi inch dọc theo trục y.
- edid
Edid không bắt buộc
Chrome 67 trở lênLƯU Ý: Tính năng này chỉ có trong các ứng dụng Kiosk và giao diện người dùng trên web của ChromeOS.
- hasTouchSupport
boolean
Chrome 57 trở lênTrue nếu màn hình này có một thiết bị đầu vào cảm ứng được liên kết với màn hình.
- id
chuỗi
Giá trị nhận dạng riêng biệt của màn hình.
- isEnabled
boolean
Đúng nếu màn hình này được bật.
- isPrimary
boolean
True nếu đây là màn hình chính.
- isUnified
boolean
Chrome 59 trở lênĐúng cho tất cả các màn hình khi ở chế độ màn hình hợp nhất. Hãy xem tài liệu về
enableUnifiedDesktop
. - mirroringDestinationIds
string[]
Chrome 64 trở lênChỉ trên ChromeOS. Giá trị nhận dạng của các màn hình mà màn hình nguồn đang được phản chiếu. Trống nếu không có màn hình nào đang được phản chiếu. Giá trị này sẽ được đặt thành cùng một giá trị cho tất cả các màn hình. Giá trị này không được bao gồm
mirroringSourceId
. - mirroringSourceId
chuỗi
Chỉ trên ChromeOS. Giá trị nhận dạng của màn hình đang được phản chiếu nếu tính năng phản chiếu được bật, nếu không thì giá trị này sẽ trống. Chế độ này sẽ được đặt cho tất cả màn hình (kể cả màn hình đang được phản chiếu).
- chế độChrome 52 trở lên
Danh sách các chế độ hiển thị hiện có. Chế độ hiện tại sẽ có isSelected=true. Chỉ có trên ChromeOS. Sẽ được đặt thành một mảng trống trên các nền tảng khác.
- tên
chuỗi
Tên thân thiện với người dùng (ví dụ: "Màn hình LCD HP").
- overscan
Phần lồng ghép của màn hình trong phạm vi màn hình. Hiện chỉ có trên ChromeOS. Sẽ được đặt thành phần lồng ghép trống trên các nền tảng khác.
- xoay
số
Màn hình xoay theo chiều kim đồng hồ tính bằng độ so với vị trí dọc. Hiện chỉ có trên ChromeOS. Sẽ được đặt thành 0 trên các nền tảng khác. Giá trị -1 sẽ được hiểu là tự động xoay khi thiết bị ở trạng thái máy tính bảng thực.
- workArea
Vùng làm việc có thể sử dụng của màn hình trong phạm vi hiển thị. Vùng làm việc không bao gồm các vùng trên màn hình dành riêng cho hệ điều hành, chẳng hạn như thanh tác vụ và trình chạy.
Edid
Thuộc tính
- manufacturerId
chuỗi
Mã nhà sản xuất gồm 3 ký tự. Xem phần 3.4.1 trang 21. Bắt buộc trong phiên bản 1.4.
- productId
chuỗi
Mã gồm 2 byte do nhà sản xuất chỉ định, Mục 3.4.2 trang 21. Bắt buộc trong phiên bản 1.4.
- yearOfManufacture
số
Năm sản xuất, Mục 3.4.4 trang 22. Bắt buộc trong phiên bản 1.4.
GetInfoFlags
Thuộc tính
- singleUnified
boolean không bắt buộc
Nếu bạn đặt thành true, thì chỉ một
DisplayUnitInfo
sẽ đượcgetInfo
trả về khi ở chế độ màn hình hợp nhất (xemenableUnifiedDesktop
). Giá trị mặc định là false.
Insets
Thuộc tính
- dưới cùng
số
Khoảng cách trục y so với ranh giới dưới cùng.
- trái
số
Khoảng cách theo trục x từ ranh giới bên trái.
- phải
số
Khoảng cách trên trục x từ ranh giới bên phải.
- trên cùng
số
Khoảng cách theo trục y từ giới hạn trên.
LayoutPosition
Vị trí bố cục, tức là cạnh của phần tử mẹ mà màn hình được đính kèm.
Enum
"top"
"right"
"bottom"
"left"
MirrorMode
Chế độ phản chiếu, tức là các cách phản chiếu màn hình sang màn hình khác.
Enum
"off"
Chỉ định chế độ mặc định (màn hình mở rộng hoặc hợp nhất).
"normal"
Chỉ định rằng màn hình nguồn mặc định sẽ được phản chiếu sang tất cả các màn hình khác.
"mixed"
Chỉ định rằng màn hình nguồn đã chỉ định sẽ được phản chiếu sang màn hình đích được cung cấp. Tất cả các màn hình được kết nối khác sẽ được mở rộng.
MirrorModeInfo
Thuộc tính
- mirroringDestinationIds
string[] không bắt buộc
Mã nhận dạng của màn hình đích phản chiếu. Trường này chỉ hợp lệ cho "mixed".
- mirroringSourceId
chuỗi không bắt buộc
Mã nhận dạng của màn hình nguồn phản chiếu. Trường này chỉ hợp lệ cho "mixed".
- chế độ
Chế độ phản chiếu cần được đặt.
Point
Thuộc tính
- x
số
Toạ độ x của điểm.
- năm
số
Toạ độ y của điểm.
TouchCalibrationPair
Thuộc tính
- displayPoint
Toạ độ của điểm hiển thị.
- touchPoint
Toạ độ của điểm chạm tương ứng với điểm hiển thị.
TouchCalibrationPairQuad
Thuộc tính
- pair1
Bạn cần có cặp điểm chạm và điểm hiển thị đầu tiên để hiệu chuẩn cảm ứng.
- pair2
Cần có cặp điểm chạm và điểm hiển thị thứ hai để hiệu chỉnh cảm ứng.
- pair3
Cần có cặp điểm chạm và điểm hiển thị thứ ba để hiệu chuẩn cảm ứng.
- pair4
Cần có cặp điểm chạm và điểm hiển thị thứ tư để hiệu chỉnh cảm ứng.
Phương thức
clearTouchCalibration()
chrome.system.display.clearTouchCalibration(
id: string,
): void
Đặt lại chế độ hiệu chuẩn cảm ứng cho màn hình và đưa màn hình về trạng thái mặc định bằng cách xoá mọi dữ liệu hiệu chuẩn cảm ứng được liên kết với màn hình.
Thông số
- id
chuỗi
Giá trị nhận dạng riêng biệt của màn hình.
completeCustomTouchCalibration()
chrome.system.display.completeCustomTouchCalibration(
pairs: TouchCalibrationPairQuad,
bounds: Bounds,
): void
Đặt các cặp hiệu chuẩn cảm ứng cho màn hình. Các pairs
này sẽ được dùng để hiệu chỉnh màn hình cảm ứng cho màn hình có id
được gọi trong startCustomTouchCalibration(). Luôn gọi startCustomTouchCalibration
trước khi gọi phương thức này. Nếu một quy trình hiệu chỉnh cảm ứng khác đang diễn ra, thì thao tác này sẽ gây ra lỗi.
Thông số
-
Các cặp điểm dùng để hiệu chỉnh màn hình.
- ranh giới
Ranh giới của màn hình khi quá trình hiệu chuẩn cảm ứng được thực hiện. Các giá trị
bounds.left
vàbounds.top
sẽ bị bỏ qua.
enableUnifiedDesktop()
chrome.system.display.enableUnifiedDesktop(
enabled: boolean,
): void
Bật/tắt tính năng màn hình hợp nhất. Nếu được bật trong khi tính năng phản chiếu đang hoạt động, chế độ máy tính sẽ không thay đổi cho đến khi tính năng phản chiếu được tắt. Nếu không, chế độ máy tính sẽ chuyển sang chế độ hợp nhất ngay lập tức. LƯU Ý: Tính năng này chỉ có trong các ứng dụng Kiosk và giao diện người dùng trên web của ChromeOS.
Thông số
- đang bật
boolean
Đúng nếu bạn nên bật màn hình hợp nhất.
getDisplayLayout()
chrome.system.display.getDisplayLayout(): Promise<DisplayLayout[]>
Yêu cầu thông tin bố cục cho tất cả màn hình. LƯU Ý: Tính năng này chỉ có trong các ứng dụng Kiosk và giao diện người dùng trên web của ChromeOS.
Giá trị trả về
-
Promise<DisplayLayout[]>
Chrome 91 trở lên
getInfo()
chrome.system.display.getInfo(
flags?: GetInfoFlags,
): Promise<DisplayUnitInfo[]>
Yêu cầu thông tin cho tất cả các thiết bị hiển thị được kết nối.
Thông số
- flags
GetInfoFlags không bắt buộc
Chrome 59 trở lênCác lựa chọn ảnh hưởng đến cách thông tin được trả về.
Giá trị trả về
-
Promise<DisplayUnitInfo[]>
Chrome 91 trở lên
overscanCalibrationAdjust()
chrome.system.display.overscanCalibrationAdjust(
id: string,
delta: Insets,
): void
Điều chỉnh phần lồng ghép hiện tại của chế độ quét tràn cho một màn hình. Thông thường, thao tác này sẽ di chuyển màn hình dọc theo một trục (ví dụ: trái + phải có cùng giá trị) hoặc điều chỉnh tỷ lệ màn hình dọc theo một trục (ví dụ: trên + dưới có giá trị ngược nhau). Mỗi lệnh gọi Adjust đều tích luỹ với các lệnh gọi trước đó kể từ khi bắt đầu.
Thông số
- id
chuỗi
Giá trị nhận dạng riêng biệt của màn hình.
- delta
Khoảng thay đổi phần lồng ghép của chế độ quét tràn.
overscanCalibrationComplete()
chrome.system.display.overscanCalibrationComplete(
id: string,
): void
Hoàn tất việc điều chỉnh chế độ quét tràn cho màn hình bằng cách lưu các giá trị hiện tại và ẩn lớp phủ.
Thông số
- id
chuỗi
Giá trị nhận dạng riêng biệt của màn hình.
overscanCalibrationReset()
chrome.system.display.overscanCalibrationReset(
id: string,
): void
Đặt lại phần lồng viền quét dư của màn hình về giá trị đã lưu gần đây nhất (tức là trước khi Start được gọi).
Thông số
- id
chuỗi
Giá trị nhận dạng riêng biệt của màn hình.
overscanCalibrationStart()
chrome.system.display.overscanCalibrationStart(
id: string,
): void
Bắt đầu hiệu chuẩn chế độ quét tràn cho màn hình. Thao tác này sẽ hiển thị một lớp phủ trên màn hình cho biết phần lồng ghép hiện tại của chế độ quét tràn. Nếu quá trình hiệu chuẩn chế độ quét tràn cho màn hình id
đang diễn ra, thì thao tác này sẽ đặt lại quá trình hiệu chuẩn.
Thông số
- id
chuỗi
Giá trị nhận dạng riêng biệt của màn hình.
setDisplayLayout()
chrome.system.display.setDisplayLayout(
layouts: DisplayLayout[],
): Promise<void>
Đặt bố cục cho tất cả màn hình. Mọi màn hình không có trong danh sách này sẽ sử dụng bố cục mặc định. Nếu một bố cục bị trùng lặp hoặc không hợp lệ, thì bố cục đó sẽ được điều chỉnh thành một bố cục hợp lệ. Sau khi bố cục được phân giải, sự kiện onDisplayChanged sẽ được kích hoạt. LƯU Ý: Tính năng này chỉ có trong các ứng dụng Kiosk và giao diện người dùng trên web của ChromeOS.
Thông số
- bố cục
Thông tin bố cục, bắt buộc đối với tất cả màn hình, ngoại trừ màn hình chính.
Giá trị trả về
-
Promise<void>
Chrome 91 trở lên
setDisplayProperties()
chrome.system.display.setDisplayProperties(
id: string,
info: DisplayProperties,
): Promise<void>
Cập nhật các thuộc tính cho màn hình do id
chỉ định, theo thông tin được cung cấp trong info
. Khi thất bại, runtime.lastError
sẽ được đặt. LƯU Ý: Tính năng này chỉ có trong các ứng dụng Kiosk và giao diện người dùng trên web của ChromeOS.
Thông số
- id
chuỗi
Giá trị nhận dạng riêng biệt của màn hình.
- info
Thông tin về các thuộc tính hiển thị cần thay đổi. Một thuộc tính sẽ chỉ được thay đổi nếu bạn chỉ định một giá trị mới cho thuộc tính đó trong
info
.
Giá trị trả về
-
Promise<void>
Chrome 91 trở lên
setMirrorMode()
chrome.system.display.setMirrorMode(
info: MirrorModeInfo,
): Promise<void>
Đặt chế độ hiển thị thành chế độ phản chiếu đã chỉ định. Mỗi lệnh gọi sẽ đặt lại trạng thái từ các lệnh gọi trước đó. Việc gọi setDisplayProperties() sẽ không thành công đối với màn hình đích phản chiếu. LƯU Ý: Tính năng này chỉ có trong các ứng dụng Kiosk và giao diện người dùng trên web của ChromeOS.
Thông số
- info
Thông tin về chế độ phản chiếu cần áp dụng cho chế độ hiển thị.
Giá trị trả về
-
Promise<void>
Chrome 91 trở lên
showNativeTouchCalibration()
chrome.system.display.showNativeTouchCalibration(
id: string,
): Promise<boolean>
Hiển thị UX hiệu chỉnh cảm ứng gốc cho màn hình có id
làm mã nhận dạng màn hình. Thao tác này sẽ hiển thị một lớp phủ trên màn hình kèm theo hướng dẫn bắt buộc về cách tiếp tục. Lệnh gọi lại sẽ chỉ được gọi trong trường hợp hiệu chuẩn thành công. Nếu quá trình hiệu chuẩn không thành công, thao tác này sẽ báo lỗi.
Thông số
- id
chuỗi
Giá trị nhận dạng riêng biệt của màn hình.
Giá trị trả về
-
Promise<boolean>
Chrome 91 trở lên
startCustomTouchCalibration()
chrome.system.display.startCustomTouchCalibration(
id: string,
): void
Bắt đầu quy trình hiệu chuẩn cảm ứng tuỳ chỉnh cho màn hình. Bạn nên gọi phương thức này khi sử dụng UX tuỳ chỉnh để thu thập dữ liệu hiệu chuẩn. Nếu một quy trình hiệu chỉnh cảm ứng khác đang diễn ra, thì thao tác này sẽ gây ra lỗi.
Thông số
- id
chuỗi
Giá trị nhận dạng riêng biệt của màn hình.
Sự kiện
onDisplayChanged
chrome.system.display.onDisplayChanged.addListener(
callback: function,
)
Kích hoạt khi có thay đổi về cấu hình màn hình.
Thông số
- callback
hàm
Tham số
callback
có dạng như sau:() => void