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