Mô tả
Sử 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 được (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 bên trái.
-
trên cùng
số
Toạ độ y của góc trên 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 duy nhất của màn hình.
-
độ lệch
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 duy nhất của màn hình mẹ. Để trống nếu đây là thư mục gốc.
-
vị trí
Vị trí bố cục của màn hình này so với màn hình mẹ. Phần 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ệ của thiết bị ở chế độ hiển thị.
-
độ cao
số
Chiều cao của chế độ hiển thị tính bằng pixel không phụ thuộc vào 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à quét lồng ghép, 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ị đang được chọn.
-
refreshRate
số
Chrome 67 trở lênTốc độ làm mới của chế độ hiển thị tính bằng hertz.
-
uiScale
số không bắt buộc
Ngừng sử dụng 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 chế độ hiển thị tính bằng pixel không phụ thuộc vào thiết bị (người dùng nhìn thấy).
-
widthInNativePixels
số
Chiều rộng chế độ hiển thị tính bằng pixel gốc.
DisplayProperties
Thuộc tính
-
boundsOriginX
số không bắt buộc
Nếu được đặt, sẽ cập nhật 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 không được đặt vàboundsOriginY
được đặt. Xin lưu ý rằng khi cập nhật gốc hiển thị, một số quy tắc ràng buộc sẽ được áp dụng, vì vậy, gốc giới hạn cuối cùng có thể khác với gốc đã đặt. Bạn có thể truy xuất các giới hạn cuối cùng bằng cách sử dụnggetInfo
. Không thể thay đổi nguồn gốc giới hạn trên màn hình chính. -
boundsOriginY
số không bắt buộc
Nếu được đặt, hãy cập nhật 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, chế độ hiển thị sẽ được cập nhật 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ệ, chế độ này sẽ không được áp dụng và lỗi sẽ được đặt, nhưng các thuộc tính khác vẫn sẽ được áp dụng.
-
displayZoomFactor
số không bắt buộc
Chrome 65 trở lênNếu được đặt, sẽ cập nhật mức thu phóng liên kết với màn hình. Tính năng thu phóng này sẽ sắp xếp lại bố cục 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ỉ phóng to theo từng pixel.
-
isPrimary
boolean không bắt buộc
Nếu bạn đặt thành true, màn hình sẽ trở thành 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à 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 giới hạn). -
isUnified
boolean không bắt buộc
Chrome 59 trở lênChỉ dành cho ChromeOS. Nếu bạn đặt thành true, chế độ hiển thị sẽ thay đổi thành màn hình hợp nhất (xem
enableUnifiedDesktop
để biết thông tin chi tiết). Nếu bạn đặt giá trị này thành false, chế độ màn hình hợp nhất sẽ bị tắt. Giá trị 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. Giá trị này không có hiệu lực nếu không được cung cấp. -
mirroringSourceId
chuỗi không bắt buộc
Ngừng sử dụng kể từ Chrome 68Sử dụng
setMirrorMode
.Chỉ dành cho ChromeOS. Nếu được đặt và không để trống, chỉ bật tính năng 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 để phản chiếu, 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, bạn sẽ không thể đặt thuộc tính nào khác.
-
tràn màn hình
Phần lồng ghép không bắt buộc
Nếu được đặt, hãy đặt các phần lồng ghép tràn màn hình 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ị overscan không được âm hoặc lớn hơn một nửa kích thước màn hình. Không thể thay đổi chế độ tràn màn hình trên màn hình trong.
-
xoay
số không bắt buộc
Nếu được đặt, sẽ cập nhật chế độ xoay của màn hình. Các giá trị hợp lệ là [0, 90, 180, 270]. Độ 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.
-
giới hạn
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 định của màn hình. Ví dụ: giá trị 1 tương đương với tỷ lệ thu phóng 100% và giá trị 1,5 tương đương với tỷ lệ 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ỉ dành cho ứng dụng Kiosk trên ChromeOS và giao diện người dùng web.
-
hasTouchSupport
boolean
Chrome 57 trở lênĐúng nếu màn hình này có thiết bị đầu vào cảm ứng được liên kết.
-
id
chuỗi
Giá trị nhận dạng duy nhất của màn hình.
-
isEnabled
boolean
Đúng nếu màn hình này được bật.
-
isPrimary
boolean
Đúng nếu đây là màn hình chính.
-
isUnified
boolean
Chrome 59 trở lênĐúng đối với tất cả màn hình khi ở chế độ màn hình hợp nhất. Xem tài liệu về
enableUnifiedDesktop
. -
mirroringDestinationIds
string[]
Chrome 64 trở lênChỉ dành cho ChromeOS. Giá trị nhận dạng của 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ả màn hình. Không được bao gồm
mirroringSourceId
. -
mirroringSourceId
chuỗi
Chỉ dành cho 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 đang 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 (bao gồm cả màn hình được phản chiếu).
-
chế độChrome 52 trở lên
Danh sách các chế độ hiển thị có sẵn. 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").
-
tràn màn hình
Phần lồng ghép của màn hình trong giới hạn của màn hình. Hiện chỉ hiển thị 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ố
Độ xoay theo chiều kim đồng hồ của màn hình tính theo độ so với vị trí dọc. Hiện chỉ hiển thị 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 giới hạn màn hình. Vùng làm việc không bao gồm các khu vực trên màn hình dành riêng cho hệ điều hành, ví dụ: 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 Mục 3.4.1 trang 21. Bắt buộc trong phiên bản 1.4.
-
productId
chuỗi
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,
getInfo
sẽ chỉ trả về mộtDisplayUnitInfo
duy nhất khi ở chế độ màn hình hợp nhất (xemenableUnifiedDesktop
). Mặc định là false.
Insets
Thuộc tính
-
dưới cùng
số
Khoảng cách trục y từ giới hạn dưới cùng.
-
trái
số
Khoảng cách trục x từ giới hạn bên trái.
-
phải
số
Khoảng cách trục x từ giới hạn 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 thành phần mẹ mà màn hình được đính kèm.
Enum
"top"
"right"
"bottom"
"trái"
MirrorMode
Chế độ phản chiếu, tức là các cách phản chiếu màn hình sang các màn hình khác.
Enum
"off"
Chỉ định chế độ mặc định (màn hình mở rộng hoặc màn hình hợp nhất).
"bình thường"
Chỉ định rằng màn hình nguồn mặc định sẽ được phản chiếu sang tất cả màn hình khác.
"mixed"
Chỉ định rằng màn hình nguồn được chỉ định sẽ được phản chiếu đến màn hình đích được cung cấp. Tất cả màn hình khác đã kết nối sẽ được kéo dài.
MirrorModeInfo
Thuộc tính
-
mirroringDestinationIds
string[] không bắt buộc
Mã của màn hình đích phản chiếu. Giá trị này chỉ hợp lệ cho "kết hợp".
-
mirroringSourceId
chuỗi không bắt buộc
Mã của màn hình nguồn phản chiếu. Giá trị này chỉ hợp lệ cho "kết hợp".
-
chế độ
Chế độ phản chiếu cần được đặt.
Point
Thuộc tính
-
x
số
Toạ độ x của điểm.
-
y
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
Cần có cặp điểm chạm và điểm hiển thị đầu tiên để hiệu chỉnh cảm ứng.
-
pair2
Cần có cặp điểm cảm ứng và 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 chỉnh 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,
)
Đặt lại thông tin 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 liên kết với màn hình.
Tham số
-
id
chuỗi
Giá trị nhận dạng duy nhất của màn hình.
completeCustomTouchCalibration()
chrome.system.display.completeCustomTouchCalibration(
pairs: TouchCalibrationPairQuad,
bounds: Bounds,
)
Đặ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 hiển thị bằng 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 chuẩn cảm ứng khác đang diễn ra, thì quy trình này sẽ gửi một lỗi.
Tham số
-
Các cặp điểm dùng để hiệu chỉnh màn hình.
-
giới hạn
Giới hạn của màn hình khi thực hiện việc hiệu chuẩn cảm ứng. Các giá trị
bounds.left
vàbounds.top
sẽ bị bỏ qua.
enableUnifiedDesktop()
chrome.system.display.enableUnifiedDesktop(
enabled: boolean,
)
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 bị 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ỉ dành cho các ứng dụng Kiosk ChromeOS và Giao diện người dùng web.
Tham 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(
callback?: function,
)
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ỉ dành cho các ứng dụng Kiosk ChromeOS và Giao diện người dùng web.
Tham số
-
lệnh gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:(layouts: DisplayLayout[]) => void
-
layouts
-
Giá trị trả về
-
Promise<DisplayLayout[]>
Chrome 91 trở lênLời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.
getInfo()
chrome.system.display.getInfo(
flags?: GetInfoFlags,
callback?: function,
)
Yêu cầu thông tin cho tất cả thiết bị hiển thị được đính kèm.
Tham số
-
flags
GetInfoFlags không bắt buộc
Chrome 59 trở lênCác tuỳ chọn ảnh hưởng đến cách trả về thông tin.
-
lệnh gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:(displayInfo: DisplayUnitInfo[]) => void
-
displayInfo
-
Giá trị trả về
-
Promise<DisplayUnitInfo[]>
Chrome 91 trở lênLời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.
overscanCalibrationAdjust()
chrome.system.display.overscanCalibrationAdjust(
id: string,
delta: Insets,
)
Điều chỉnh phần lồng ghép hiện tại cho 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 theo tỷ lệ dọc theo một trục (ví dụ: trên cùng + dưới cùng có giá trị đối lập). Mỗi lệnh gọi Adjust sẽ tích luỹ với các lệnh gọi trước đó kể từ khi bắt đầu.
Tham số
-
id
chuỗi
Giá trị nhận dạng duy nhất của màn hình.
-
delta
Số lượng để thay đổi phần lồng ghép tràn màn hình.
overscanCalibrationComplete()
chrome.system.display.overscanCalibrationComplete(
id: string,
)
Hoàn tất việc điều chỉnh tình trạng tràn màn hình cho màn hình bằng cách lưu các giá trị hiện tại và ẩn lớp phủ.
Tham số
-
id
chuỗi
Giá trị nhận dạng duy nhất của màn hình.
overscanCalibrationReset()
chrome.system.display.overscanCalibrationReset(
id: string,
)
Đặt lại các phần lồng ghép tràn màn hình cho màn hình về giá trị đã lưu gần đây nhất (tức là trước khi Start được gọi).
Tham số
-
id
chuỗi
Giá trị nhận dạng duy nhất của màn hình.
overscanCalibrationStart()
chrome.system.display.overscanCalibrationStart(
id: string,
)
Bắt đầu hiệu chỉnh tình trạng tràn màn hình 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 các phần lồng ghép hiện tại. Nếu quá trình hiệu chuẩn tràn màn hình cho màn hình id
đang diễn ra, thì quá trình này sẽ đặt lại quá trình hiệu chuẩn.
Tham số
-
id
chuỗi
Giá trị nhận dạng duy nhất của màn hình.
setDisplayLayout()
chrome.system.display.setDisplayLayout(
layouts: DisplayLayout[],
callback?: function,
)
Đặt bố cục cho tất cả màn hình. Mọi màn hình không được đưa vào sẽ sử dụng bố cục mặc định. Nếu một bố cục chồng chéo 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ỉ dành cho các ứng dụng Kiosk ChromeOS và Giao diện người dùng web.
Tham số
-
layouts
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.
-
lệnh gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 91 trở lênLời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.
setDisplayProperties()
chrome.system.display.setDisplayProperties(
id: string,
info: DisplayProperties,
callback?: function,
)
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
. Nếu không thành công, runtime.lastError
sẽ được đặt. LƯU Ý: Tính năng này chỉ dành cho các ứng dụng Kiosk ChromeOS và Giao diện người dùng web.
Tham số
-
id
chuỗi
Giá trị nhận dạng duy nhấ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 giá trị mới cho thuộc tính đó trong
info
. -
lệnh gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 91 trở lênLời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.
setMirrorMode()
chrome.system.display.setMirrorMode(
info: MirrorModeInfo,
callback?: function,
)
Đặt chế độ hiển thị thành chế độ phản chiếu được 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ỉ dành cho ứng dụng Kiosk trên ChromeOS và giao diện người dùng web.
Tham số
-
info
Thông tin về chế độ phản chiếu cần áp dụng cho chế độ hiển thị.
-
lệnh gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 91 trở lênLời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.
showNativeTouchCalibration()
chrome.system.display.showNativeTouchCalibration(
id: string,
callback?: function,
)
Hiển thị trải nghiệm người dùng hiệu chỉnh cảm ứng gốc cho màn hình có id
làm mã 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, thì lỗi sẽ xuất hiện.
Tham số
-
id
chuỗi
Giá trị nhận dạng duy nhất của màn hình.
-
lệnh gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:(success: boolean) => void
-
thành công
boolean
-
Giá trị trả về
-
Promise<boolean>
Chrome 91 trở lênLời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.
startCustomTouchCalibration()
chrome.system.display.startCustomTouchCalibration(
id: string,
)
Bắt đầu hiệu chỉnh 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 trải nghiệm người dùng tuỳ chỉnh để thu thập dữ liệu hiệu chuẩn. Nếu một quy trình hiệu chuẩn cảm ứng khác đang diễn ra, thì quy trình này sẽ gửi một lỗi.
Tham số
-
id
chuỗi
Giá trị nhận dạng duy nhất của màn hình.
Sự kiện
onDisplayChanged
chrome.system.display.onDisplayChanged.addListener(
callback: function,
)
Được kích hoạt khi có bất kỳ thay đổi nào đối với cấu hình hiển thị.
Tham số
-
lệnh gọi lại
hàm
Tham số
callback
có dạng như sau:() => void