คำอธิบาย
ใช้ API chrome.usb
เพื่อโต้ตอบกับอุปกรณ์ USB ที่เชื่อมต่อ API นี้ให้สิทธิ์เข้าถึงการดำเนินการ USB จากบริบทของแอป เมื่อใช้ API นี้ แอปจะทำงานเป็นไดรเวอร์สำหรับอุปกรณ์ฮาร์ดแวร์ได้ ระบบจะรายงานข้อผิดพลาดที่สร้างโดย API นี้โดยการตั้งค่า runtime.lastError
และเรียกใช้การเรียกกลับตามปกติของฟังก์ชัน ในกรณีนี้จะไม่มีการระบุพารามิเตอร์ปกติของโค้ดเรียกกลับ
สิทธิ์
usb
ประเภท
ConfigDescriptor
พร็อพเพอร์ตี้
-
ใช้งาน
boolean
Chrome 47 ขึ้นไปนี่คือการกำหนดค่าที่ใช้งานอยู่ใช่ไหม
-
configurationValue
ตัวเลข
หมายเลขการกำหนดค่า
-
คำอธิบาย
string ไม่บังคับ
คำอธิบายของการกำหนดค่า
-
extra_data
ArrayBuffer
ข้อมูลข้อบ่งชี้เพิ่มเติมที่เชื่อมโยงกับการกำหนดค่านี้
-
อินเทอร์เฟซ
อินเทอร์เฟซที่พร้อมใช้งาน
-
maxPower
ตัวเลข
กำลังไฟฟ้าสูงสุดที่อุปกรณ์นี้ต้องใช้ในหน่วยมิลลิแอมป์ (mA)
-
remoteWakeup
boolean
อุปกรณ์รองรับการปลุกระบบจากระยะไกล
-
selfPowered
boolean
อุปกรณ์เป็นแบบขับเคลื่อนด้วยตัวเอง
ConnectionHandle
พร็อพเพอร์ตี้
-
แฮนเดิล
ตัวเลข
แฮนเดิลแบบทึบที่แสดงถึงการเชื่อมต่อนี้กับอุปกรณ์ USB รวมถึงอินเทอร์เฟซที่อ้างสิทธิ์ที่เกี่ยวข้องและการโอนที่รอดำเนินการทั้งหมด ระบบจะสร้างแฮนเดิลใหม่ทุกครั้งที่เปิดอุปกรณ์ แฮนเดิลการเชื่อมต่อจะต่างจาก
Device.device
-
productId
ตัวเลข
รหัสผลิตภัณฑ์
-
vendorId
ตัวเลข
รหัสผู้ให้บริการอุปกรณ์
ControlTransferInfo
พร็อพเพอร์ตี้
-
ข้อมูล
ArrayBuffer ไม่บังคับ
ข้อมูลที่จะส่ง (จำเป็นต่อการโอนเอาต์พุตเท่านั้น)
-
direction
ทิศทางการโอน (
"in"
หรือ"out"
) -
ดัชนี
ตัวเลข
ฟิลด์
wIndex
โปรดดู Ibid -
length
ตัวเลข ไม่บังคับ
จำนวนไบต์สูงสุดที่จะรับ (จำเป็นต่อการโอนอินพุตเท่านั้น)
-
ผู้รับ
เป้าหมายการโอน ต้องอ้างสิทธิ์เป้าหมายที่กำหนดโดย
index
หาก"interface"
หรือ"endpoint"
-
ส่งคำขอ
ตัวเลข
ช่อง
bRequest
โปรดดูการแก้ไขข้อกำหนดเฉพาะของรถบัสซีเรียลสากล 1.1 § 9.3 -
requestType
ประเภทคำขอ
-
เวลานอก
ตัวเลข ไม่บังคับ
Chrome 43 ขึ้นไปการหมดเวลาคำขอ (เป็นมิลลิวินาที) ค่าเริ่มต้น
0
บ่งชี้ว่าไม่มีระยะหมดเวลา -
value
ตัวเลข
ฟิลด์
wValue
โปรดดู Ibid
Device
พร็อพเพอร์ตี้
-
อุปกรณ์
ตัวเลข
รหัสที่ทึบแสงของอุปกรณ์ USB ซึ่งจะไม่มีการเปลี่ยนแปลงจนกว่าจะถอดปลั๊กอุปกรณ์
-
manufacturerName
string
Chrome 46 ขึ้นไปสตริง iManufacturer อ่านจากอุปกรณ์ หากมี
-
productId
ตัวเลข
รหัสผลิตภัณฑ์
-
productName
string
Chrome 46 ขึ้นไปสตริง iProduct จะอ่านจากอุปกรณ์ (หากมี)
-
serialNumber
string
Chrome 46 ขึ้นไปสตริง iSerialNumber จะอ่านจากอุปกรณ์ (หากมี)
-
vendorId
ตัวเลข
รหัสผู้ให้บริการอุปกรณ์
-
เวอร์ชัน
ตัวเลข
Chrome 51 ขึ้นไปเวอร์ชันของอุปกรณ์ (ช่อง bcdDevice)
DeviceFilter
พร็อพเพอร์ตี้
-
interfaceClass
ตัวเลข ไม่บังคับ
คลาสอินเทอร์เฟซ USB ตรงกับอินเทอร์เฟซทั้งหมดในอุปกรณ์
-
interfaceProtocol
ตัวเลข ไม่บังคับ
โปรโตคอลอินเทอร์เฟซ USB เลือกเฉพาะเมื่อคลาสย่อยของอินเทอร์เฟซตรงกัน
-
interfaceSubclass
ตัวเลข ไม่บังคับ
คลาสย่อยของอินเทอร์เฟซ USB เลือกเฉพาะเมื่อคลาสอินเทอร์เฟซตรงกัน
-
productId
ตัวเลข ไม่บังคับ
ระบบจะตรวจสอบรหัสผลิตภัณฑ์ของอุปกรณ์เมื่อรหัสผู้ให้บริการตรงกันเท่านั้น
-
vendorId
ตัวเลข ไม่บังคับ
รหัสผู้ให้บริการอุปกรณ์
DevicePromptOptions
พร็อพเพอร์ตี้
-
ตัวกรอง
DeviceFilter[] ไม่บังคับ
กรองรายการอุปกรณ์ที่แสดงต่อผู้ใช้ หากมีตัวกรองหลายรายการ อุปกรณ์ที่ตรงกับตัวกรองจะแสดงขึ้นมา
-
หลาย
บูลีน ไม่บังคับ
อนุญาตให้ผู้ใช้เลือกอุปกรณ์ได้หลายเครื่อง
Direction
คำสั่ง, Recipient, RequestType และ TransferType จะแมปกับชื่อเดียวกับชื่อภายในข้อมูลจำเพาะของ USB
ค่าแจกแจง
EndpointDescriptor
พร็อพเพอร์ตี้
-
จัดการ
ตัวเลข
ที่อยู่ปลายทาง
-
direction
เส้นทางการโอน
-
extra_data
ArrayBuffer
ข้อมูลข้อบ่งชี้เพิ่มเติมที่เชื่อมโยงกับปลายทางนี้
-
maximumPacketSize
ตัวเลข
ขนาดแพ็กเก็ตสูงสุด
-
pollingInterval
ตัวเลข ไม่บังคับ
ช่วงการหยั่งสัญญาณ (แบบขัดจังหวะและแบบอิสระเท่านั้น)
-
การซิงค์
SynchronizationType ไม่บังคับ
โหมดการซิงโครไนซ์การโอน (เฉพาะโหมดเฉพาะตัว)
-
ประเภท
ประเภทการโอน
-
การใช้งาน
UsageType ไม่บังคับ
คำแนะนำการใช้งานปลายทาง
EnumerateDevicesAndRequestAccessOptions
พร็อพเพอร์ตี้
-
interfaceId
ตัวเลข ไม่บังคับ
รหัสอินเทอร์เฟซที่จะขอสิทธิ์เข้าถึง ใช้ได้ใน Chrome OS เท่านั้น โดยจะไม่ส่งผลต่อแพลตฟอร์มอื่นๆ
-
productId
ตัวเลข
รหัสผลิตภัณฑ์
-
vendorId
ตัวเลข
รหัสผู้ให้บริการอุปกรณ์
EnumerateDevicesOptions
พร็อพเพอร์ตี้
-
ตัวกรอง
DeviceFilter[] ไม่บังคับ
ระบบจะส่งคืนอุปกรณ์ที่ตรงกับตัวกรองที่ระบุ รายการตัวกรองที่ว่างเปล่าจะแสดงอุปกรณ์ทั้งหมดที่แอปมีสิทธิ์
-
productId
ตัวเลข ไม่บังคับ
เลิกใช้งานแล้วเทียบเท่ากับการตั้งค่า
DeviceFilter.productId
-
vendorId
ตัวเลข ไม่บังคับ
เลิกใช้งานแล้วเทียบเท่ากับการตั้งค่า
DeviceFilter.vendorId
GenericTransferInfo
พร็อพเพอร์ตี้
-
ข้อมูล
ArrayBuffer ไม่บังคับ
ข้อมูลที่จะส่ง (จำเป็นต่อการโอนเอาต์พุตเท่านั้น)
-
direction
ทิศทางการโอน (
"in"
หรือ"out"
) -
ปลายทาง
ตัวเลข
ที่อยู่ปลายทางเป้าหมาย ต้องอ้างสิทธิ์อินเทอร์เฟซที่มีปลายทางนี้
-
length
ตัวเลข ไม่บังคับ
จำนวนไบต์สูงสุดที่จะรับ (จำเป็นต่อการโอนอินพุตเท่านั้น)
-
เวลานอก
ตัวเลข ไม่บังคับ
Chrome 43 ขึ้นไปการหมดเวลาคำขอ (เป็นมิลลิวินาที) ค่าเริ่มต้น
0
บ่งชี้ว่าไม่มีระยะหมดเวลา
InterfaceDescriptor
พร็อพเพอร์ตี้
-
alternateSetting
ตัวเลข
หมายเลขการตั้งค่าสำรองของอินเทอร์เฟซ (ค่าเริ่มต้นคือ
0
-
คำอธิบาย
string ไม่บังคับ
คำอธิบายของอินเทอร์เฟซ
-
อุปกรณ์ปลายทาง
ปลายทางที่ใช้ได้
-
extra_data
ArrayBuffer
ข้อมูลข้อบ่งชี้เพิ่มเติมที่เชื่อมโยงกับอินเทอร์เฟซนี้
-
interfaceClass
ตัวเลข
คลาสของอินเทอร์เฟซ USB
-
interfaceNumber
ตัวเลข
หมายเลขอินเทอร์เฟซ
-
interfaceProtocol
ตัวเลข
โปรโตคอลของอินเทอร์เฟซ USB
-
interfaceSubclass
ตัวเลข
คลาสย่อยของอินเทอร์เฟซ USB
IsochronousTransferInfo
พร็อพเพอร์ตี้
-
packetLength
ตัวเลข
ความยาวของแพ็กเก็ตแต่ละรายการในการโอนนี้
-
แพ็กเก็ต
ตัวเลข
จำนวนแพ็กเก็ตทั้งหมดในการโอนนี้
-
transferInfo
พารามิเตอร์การโอน ระยะเวลาการโอนหรือบัฟเฟอร์ข้อมูลที่ระบุในบล็อกพารามิเตอร์นี้จะแบ่งออกเป็นขอบเขต
packetLength
เพื่อสร้างแพ็กเก็ตแต่ละรายการของการโอน
Recipient
ค่าแจกแจง
RequestType
ค่าแจกแจง
SynchronizationType
สำหรับโหมดรบกวนและโหมดอิสระ คู่กันประเภท และ ประเภท UsageType จะแมปกับโหมดที่มีชื่อเดียวกันภายในข้อมูลจำเพาะของ USB
ค่าแจกแจง
TransferResultInfo
พร็อพเพอร์ตี้
-
ข้อมูล
ArrayBuffer ไม่บังคับ
ข้อมูลที่แสดงผลโดยการโอนอินพุต
undefined
สำหรับการโอนเอาต์พุต -
resultCode
ตัวเลข ไม่บังคับ
ค่า
0
บ่งบอกว่าโอนสำเร็จ ค่าอื่นๆ บ่งชี้ถึงความล้มเหลว
TransferType
ค่าแจกแจง
UsageType
ค่าแจกแจง
วิธีการ
bulkTransfer()
chrome.usb.bulkTransfer(
handle: ConnectionHandle,
transferInfo: GenericTransferInfo,
callback?: function,
)
ดำเนินการโอนข้อมูลจำนวนมากในอุปกรณ์ที่ระบุ
พารามิเตอร์
-
แฮนเดิล
การเชื่อมต่อกับอุปกรณ์แบบเปิด
-
transferInfo
พารามิเตอร์การโอน
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(info: TransferResultInfo) => void
-
ข้อมูล
-
การคืนสินค้า
-
Promise<TransferResultInfo>
Chrome 116 ขึ้นไปPromiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ
claimInterface()
chrome.usb.claimInterface(
handle: ConnectionHandle,
interfaceNumber: number,
callback?: function,
)
อ้างสิทธิ์อินเทอร์เฟซในอุปกรณ์ USB ต้องอ้างสิทธิ์อินเทอร์เฟซก่อนที่จะส่งข้อมูลไปยังอินเทอร์เฟซหรือปลายทางที่เชื่อมโยง มีแฮนเดิลการเชื่อมต่อเพียง 1 แฮนเดิลที่สามารถอ้างสิทธิ์อินเทอร์เฟซได้ในช่วงเวลาหนึ่งๆ หากมีการอ้างสิทธิ์อินเทอร์เฟซแล้ว การเรียกใช้นี้จะล้มเหลว
คุณควรเรียกใช้ releaseInterface
เมื่อไม่จำเป็นต้องใช้อินเทอร์เฟซอีกต่อไป
พารามิเตอร์
-
แฮนเดิล
การเชื่อมต่อกับอุปกรณ์แบบเปิด
-
interfaceNumber
ตัวเลข
อินเทอร์เฟซที่จะอ้างสิทธิ์
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 116 ขึ้นไปPromiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ
closeDevice()
chrome.usb.closeDevice(
handle: ConnectionHandle,
callback?: function,
)
ปิดแฮนเดิลการเชื่อมต่อ การเรียกใช้การดำเนินการบนแฮนเดิลหลังจากที่ปิดไปแล้วเป็นการดำเนินการที่ปลอดภัย แต่จะไม่มีการดำเนินการใดๆ
พารามิเตอร์
-
แฮนเดิล
ConnectionHandle
เพื่อปิด -
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 116 ขึ้นไปPromiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ
controlTransfer()
chrome.usb.controlTransfer(
handle: ConnectionHandle,
transferInfo: ControlTransferInfo,
callback?: function,
)
ดำเนินการโอนควบคุมในอุปกรณ์ที่ระบุ
การโอนการควบคุมหมายถึงอุปกรณ์ อินเทอร์เฟซ หรือปลายทาง การโอนไปยังอินเทอร์เฟซหรือปลายทางจำเป็นต้องมีการอ้างสิทธิ์อินเทอร์เฟซ
พารามิเตอร์
-
แฮนเดิล
การเชื่อมต่อกับอุปกรณ์แบบเปิด
-
transferInfo
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(info: TransferResultInfo) => void
-
ข้อมูล
-
การคืนสินค้า
-
Promise<TransferResultInfo>
Chrome 116 ขึ้นไปPromiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ
findDevices()
chrome.usb.findDevices(
options: EnumerateDevicesAndRequestAccessOptions,
callback?: function,
)
ค้นหาอุปกรณ์ USB ที่ระบุโดยผู้ให้บริการ ผลิตภัณฑ์ และรหัสอินเทอร์เฟซ (ไม่บังคับ) รวมถึงระบุว่าสิทธิ์อนุญาตให้เปิดเพื่อใช้งานหรือไม่
หากคำขอเข้าถึงถูกปฏิเสธหรืออุปกรณ์เปิดไม่ได้ จะไม่มีการสร้างหรือส่งคืนแฮนเดิลการเชื่อมต่อ
การเรียกใช้วิธีนี้เทียบเท่ากับการโทร getDevices
ตามด้วย openDevice
สําหรับอุปกรณ์แต่ละเครื่อง
พารามิเตอร์
-
พร็อพเพอร์ตี้ที่จะค้นหาในอุปกรณ์เป้าหมาย
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(handles: ConnectionHandle[]) => void
-
แฮนเดิล
-
การคืนสินค้า
-
Promise<ConnectionHandle[]>
Chrome 116 ขึ้นไปPromiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ
getConfiguration()
chrome.usb.getConfiguration(
handle: ConnectionHandle,
callback?: function,
)
รับข้อบ่งชี้การกำหนดค่าสำหรับการกำหนดค่าที่เลือกในปัจจุบัน
พารามิเตอร์
-
แฮนเดิล
การเชื่อมต่อกับอุปกรณ์แบบเปิด
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(config: ConfigDescriptor) => void
-
การกำหนดค่า
-
การคืนสินค้า
-
Promise<ConfigDescriptor>
Chrome 116 ขึ้นไปPromiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ
getConfigurations()
chrome.usb.getConfigurations(
device: Device,
callback?: function,
)
แสดงข้อบ่งชี้การกำหนดค่าอุปกรณ์ทั้งชุด
พารามิเตอร์
-
อุปกรณ์
Device
ที่จะดึงข้อมูลข้อบ่งชี้ -
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(configs: ConfigDescriptor[]) => void
-
การกำหนดค่า
-
การคืนสินค้า
-
Promise<ConfigDescriptor[]>
Chrome 116 ขึ้นไปPromiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ
getDevices()
chrome.usb.getDevices(
options: EnumerateDevicesOptions,
callback?: function,
)
แจกแจงอุปกรณ์ USB ที่เชื่อมต่อ
พารามิเตอร์
การคืนสินค้า
-
สัญญา<Device[]>
Chrome 116 ขึ้นไปPromiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ
getUserSelectedDevices()
chrome.usb.getUserSelectedDevices(
options: DevicePromptOptions,
callback?: function,
)
แสดงเครื่องมือเลือกอุปกรณ์ให้ผู้ใช้เห็นและแสดงผล Device
ที่เลือกไว้ หากผู้ใช้ยกเลิก อุปกรณ์เครื่องมือเลือกจะว่างเปล่า ต้องมีท่าทางสัมผัสของผู้ใช้เพื่อให้กล่องโต้ตอบแสดง หากไม่มีท่าทางสัมผัสของผู้ใช้ การเรียกกลับจะทำงานเสมือนว่าผู้ใช้ยกเลิกแล้ว
พารามิเตอร์
การคืนสินค้า
-
สัญญา<Device[]>
Chrome 116 ขึ้นไปPromiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ
interruptTransfer()
chrome.usb.interruptTransfer(
handle: ConnectionHandle,
transferInfo: GenericTransferInfo,
callback?: function,
)
ดำเนินการโอนข้อมูลขัดจังหวะในอุปกรณ์ที่ระบุ
พารามิเตอร์
-
แฮนเดิล
การเชื่อมต่อกับอุปกรณ์แบบเปิด
-
transferInfo
พารามิเตอร์การโอน
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(info: TransferResultInfo) => void
-
ข้อมูล
-
การคืนสินค้า
-
Promise<TransferResultInfo>
Chrome 116 ขึ้นไปPromiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ
isochronousTransfer()
chrome.usb.isochronousTransfer(
handle: ConnectionHandle,
transferInfo: IsochronousTransferInfo,
callback?: function,
)
ทำการโอนข้อมูลในอุปกรณ์ที่เฉพาะเจาะจง
พารามิเตอร์
-
แฮนเดิล
การเชื่อมต่อกับอุปกรณ์แบบเปิด
-
transferInfo
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(info: TransferResultInfo) => void
-
ข้อมูล
-
การคืนสินค้า
-
Promise<TransferResultInfo>
Chrome 116 ขึ้นไปPromiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ
listInterfaces()
chrome.usb.listInterfaces(
handle: ConnectionHandle,
callback?: function,
)
แสดงรายการอินเทอร์เฟซทั้งหมดในอุปกรณ์ USB
พารามิเตอร์
-
แฮนเดิล
การเชื่อมต่อกับอุปกรณ์แบบเปิด
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(descriptors: InterfaceDescriptor[]) => void
-
descriptors
-
การคืนสินค้า
-
Promise<InterfaceDescriptor[]>
Chrome 116 ขึ้นไปPromiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ
openDevice()
chrome.usb.openDevice(
device: Device,
callback?: function,
)
เปิดอุปกรณ์ USB ที่ getDevices
ส่งคืน
พารามิเตอร์
-
อุปกรณ์
Device
ที่จะเปิด -
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(handle: ConnectionHandle) => void
-
แฮนเดิล
-
การคืนสินค้า
-
Promise<ConnectionHandle>
Chrome 116 ขึ้นไปPromiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ
releaseInterface()
chrome.usb.releaseInterface(
handle: ConnectionHandle,
interfaceNumber: number,
callback?: function,
)
เผยแพร่อินเทอร์เฟซที่อ้างสิทธิ์
พารามิเตอร์
-
แฮนเดิล
การเชื่อมต่อกับอุปกรณ์แบบเปิด
-
interfaceNumber
ตัวเลข
อินเทอร์เฟซที่จะเผยแพร่
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 116 ขึ้นไปPromiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ
requestAccess()
chrome.usb.requestAccess(
device: Device,
interfaceId: number,
callback?: function,
)
ฟังก์ชันนี้มีไว้สำหรับ Chrome OS โดยเฉพาะ และจะเรียกใช้งานในแพลตฟอร์มอื่นไม่ได้ ตอนนี้มีการดำเนินการโดยปริยายของ openDevice
และฟังก์ชันนี้จะแสดงผล true
ในทุกแพลตฟอร์ม
ขอสิทธิ์เข้าถึงอุปกรณ์ที่ Chrome OS อ้างสิทธิ์จากอุปกรณ์โบรกเกอร์ หากไม่มีการระบุอินเทอร์เฟซดังกล่าวในอุปกรณ์
พารามิเตอร์
-
อุปกรณ์
Device
เพื่อขอสิทธิ์เข้าถึง -
interfaceId
ตัวเลข
อินเทอร์เฟซที่ขอมา
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(success: boolean) => void
-
สำเร็จ
boolean
-
การคืนสินค้า
-
Promise<boolean>
Chrome 116 ขึ้นไปPromiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ
resetDevice()
chrome.usb.resetDevice(
handle: ConnectionHandle,
callback?: function,
)
พยายามรีเซ็ตอุปกรณ์ USB หากรีเซ็ตไม่สำเร็จ ที่จับสำหรับการเชื่อมต่อดังกล่าวจะปิดลง และอุปกรณ์ USB จะดูเหมือนว่าถูกตัดการเชื่อมต่อแล้วเชื่อมต่อใหม่ ในกรณีนี้ คุณต้องเรียกใช้ getDevices
หรือ findDevices
อีกครั้งเพื่อรับอุปกรณ์
พารามิเตอร์
-
แฮนเดิล
แฮนเดิลสำหรับเชื่อมต่อที่จะรีเซ็ต
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(success: boolean) => void
-
สำเร็จ
boolean
-
การคืนสินค้า
-
Promise<boolean>
Chrome 116 ขึ้นไปPromiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ
setConfiguration()
chrome.usb.setConfiguration(
handle: ConnectionHandle,
configurationValue: number,
callback?: function,
)
เลือกการกำหนดค่าอุปกรณ์
ฟังก์ชันนี้จะรีเซ็ตอุปกรณ์ได้อย่างมีประสิทธิภาพโดยเลือกการกำหนดค่าที่พร้อมใช้งานแบบใดแบบหนึ่งของอุปกรณ์ ใช้ได้เฉพาะค่าของการกำหนดค่าที่มากกว่า 0
เท่านั้น อย่างไรก็ตาม อุปกรณ์ที่มีข้อบกพร่องบางอย่างมีการกำหนดค่าที่ทำงานได้ 0
ดังนั้นจึงอนุญาตให้ใช้ค่านี้
พารามิเตอร์
-
แฮนเดิล
การเชื่อมต่อกับอุปกรณ์แบบเปิด
-
configurationValue
ตัวเลข
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 116 ขึ้นไปPromiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ
setInterfaceAlternateSetting()
chrome.usb.setInterfaceAlternateSetting(
handle: ConnectionHandle,
interfaceNumber: number,
alternateSetting: number,
callback?: function,
)
เลือกการตั้งค่าอื่นในอินเทอร์เฟซที่อ้างสิทธิ์ก่อนหน้านี้
พารามิเตอร์
-
แฮนเดิล
การเชื่อมต่อแบบเปิดกับอุปกรณ์ที่มีการอ้างสิทธิ์อินเทอร์เฟซนี้
-
interfaceNumber
ตัวเลข
อินเทอร์เฟซที่จะกำหนดค่า
-
alternateSetting
ตัวเลข
การตั้งค่าสำรองที่จะกำหนดค่า
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 116 ขึ้นไปPromiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ
กิจกรรม
onDeviceAdded
chrome.usb.onDeviceAdded.addListener(
callback: function,
)
เหตุการณ์สร้างขึ้นเมื่อมีการเพิ่มอุปกรณ์ลงในระบบ กิจกรรมจะประกาศไปยังแอปและส่วนขยายที่มีสิทธิ์เข้าถึงอุปกรณ์เท่านั้น อาจมีการให้สิทธิ์ ณ เวลาที่ติดตั้ง เมื่อผู้ใช้ยอมรับสิทธิ์ที่ไม่บังคับ (ดู permissions.request
) หรือผ่าน getUserSelectedDevices
พารามิเตอร์
-
Callback
ฟังก์ชัน
พารามิเตอร์
callback
มีลักษณะดังนี้(device: Device) => void
-
อุปกรณ์
-
onDeviceRemoved
chrome.usb.onDeviceRemoved.addListener(
callback: function,
)
เหตุการณ์ที่สร้างขึ้นเมื่อมีการนำอุปกรณ์ออกจากระบบ ดู onDeviceAdded
สำหรับกิจกรรมที่มีการส่ง