คำอธิบาย
ใช้ chrome.usb
API เพื่อโต้ตอบกับอุปกรณ์ USB ที่เชื่อมต่อ API นี้ให้สิทธิ์เข้าถึงการดำเนินการ USB จากภายในบริบทของแอป เมื่อใช้ API นี้ แอปจะทำหน้าที่เป็นไดรเวอร์สำหรับอุปกรณ์ฮาร์ดแวร์ได้ ข้อผิดพลาดที่ API นี้สร้างขึ้นจะได้รับการรายงานโดยการตั้งค่า runtime.lastError
และเรียกใช้การเรียกกลับปกติของฟังก์ชัน ในกรณีนี้ พารามิเตอร์ปกติของฟังก์ชันเรียกกลับจะไม่ได้กำหนด
สิทธิ์
usb
ประเภท
ConfigDescriptor
พร็อพเพอร์ตี้
-
ใช้งาน
บูลีน
Chrome 47 ขึ้นไปนี่คือการกำหนดค่าที่ใช้งานอยู่ใช่ไหม
-
configurationValue
ตัวเลข
หมายเลขการกำหนดค่า
-
คำอธิบาย
สตริง ไม่บังคับ
คำอธิบายการกำหนดค่า
-
extra_data
ArrayBuffer
ข้อมูลตัวอธิบายเพิ่มเติมที่เชื่อมโยงกับการกำหนดค่านี้
-
อินเทอร์เฟซ
อินเทอร์เฟซที่ใช้ได้
-
maxPower
ตัวเลข
กำลังไฟฟ้าสูงสุดที่อุปกรณ์นี้ต้องการในหน่วยมิลลิแอมป์ (mA)
-
remoteWakeup
บูลีน
อุปกรณ์รองรับการปลุกจากระยะไกล
-
selfPowered
บูลีน
อุปกรณ์ใช้พลังงานด้วยตัวเอง
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
Direction, Recipient, RequestType และ TransferType ทั้งหมดจะแมปกับชื่อที่เหมือนกันภายในข้อกำหนด USB
ค่าแจกแจง
"in"
"out"
EndpointDescriptor
พร็อพเพอร์ตี้
-
ที่อยู่
ตัวเลข
ที่อยู่ปลายทาง
-
direction
ทิศทางการโอน
-
extra_data
ArrayBuffer
ข้อมูลตัวอธิบายเพิ่มเติมที่เชื่อมโยงกับปลายทางนี้
-
maximumPacketSize
ตัวเลข
ขนาดแพ็กเก็ตสูงสุด
-
pollingInterval
หมายเลข ไม่บังคับ
ช่วงเวลาการสำรวจ (เฉพาะการขัดจังหวะและไอโซโครนัส)
-
การซิงค์
SynchronizationType ไม่บังคับ
โหมดการซิงโครไนซ์การโอน (ไอโซโครนัสเท่านั้น)
-
ประเภท
ประเภทการโอน
-
การใช้งาน
UsageType ไม่บังคับ
คำแนะนำการใช้งานอุปกรณ์ปลายทาง
EnumerateDevicesAndRequestAccessOptions
พร็อพเพอร์ตี้
-
interfaceId
หมายเลข ไม่บังคับ
รหัสอินเทอร์เฟซที่จะขอสิทธิ์เข้าถึง ใช้ได้ใน ChromeOS เท่านั้น โดยไม่มีผลต่อแพลตฟอร์มอื่นๆ
-
productId
ตัวเลข
รหัสผลิตภัณฑ์
-
vendorId
ตัวเลข
รหัสผู้ให้บริการอุปกรณ์
EnumerateDevicesOptions
พร็อพเพอร์ตี้
-
ตัวกรอง
DeviceFilter[] ไม่บังคับ
ระบบจะแสดงอุปกรณ์ที่ตรงกับตัวกรองที่ระบุ รายการตัวกรองที่ว่างเปล่าจะแสดงอุปกรณ์ทั้งหมดที่แอปมีสิทธิ์เข้าถึง
-
productId
หมายเลข ไม่บังคับ
เลิกใช้งานแล้วเทียบเท่ากับการตั้งค่า
DeviceFilter.productId
-
vendorId
หมายเลข ไม่บังคับ
เลิกใช้งานแล้วเทียบเท่ากับการตั้งค่า
DeviceFilter.vendorId
GenericTransferInfo
พร็อพเพอร์ตี้
-
เพิ่มเติม
ArrayBuffer ไม่บังคับ
ข้อมูลที่จะส่ง (ต้องระบุเฉพาะการโอนเอาต์พุต)
-
direction
ทิศทางการโอน (
"in"
หรือ"out"
) -
ปลายทาง
ตัวเลข
ที่อยู่ปลายทางเป้าหมาย คุณต้องอ้างสิทธิ์อินเทอร์เฟซที่มีปลายทางนี้
-
ความยาว
หมายเลข ไม่บังคับ
จำนวนไบต์สูงสุดที่จะรับ (ต้องระบุสำหรับการโอนข้อมูลเข้าเท่านั้น)
-
เวลานอก
หมายเลข ไม่บังคับ
Chrome 43 ขึ้นไปคำขอหมดเวลา (เป็นมิลลิวินาที) ค่าเริ่มต้น
0
หมายถึงไม่มีการหมดเวลา
InterfaceDescriptor
พร็อพเพอร์ตี้
-
alternateSetting
ตัวเลข
หมายเลขการตั้งค่าอินเทอร์เฟซสำรอง (ค่าเริ่มต้นคือ
0
-
คำอธิบาย
สตริง ไม่บังคับ
คำอธิบายของอินเทอร์เฟซ
-
อุปกรณ์ปลายทาง
ปลายทางที่ใช้ได้
-
extra_data
ArrayBuffer
ข้อมูลตัวอธิบายเพิ่มเติมที่เชื่อมโยงกับอินเทอร์เฟซนี้
-
interfaceClass
ตัวเลข
คลาสอินเทอร์เฟซ USB
-
interfaceNumber
ตัวเลข
หมายเลขอินเทอร์เฟซ
-
interfaceProtocol
ตัวเลข
โปรโตคอลอินเทอร์เฟซ USB
-
interfaceSubclass
ตัวเลข
คลาสย่อยของอินเทอร์เฟซ USB
IsochronousTransferInfo
พร็อพเพอร์ตี้
-
packetLength
ตัวเลข
ความยาวของแต่ละแพ็กเก็ตในการโอนนี้
-
แพ็กเก็ต
ตัวเลข
จำนวนแพ็กเก็ตทั้งหมดในการโอนนี้
-
transferInfo
พารามิเตอร์การโอน ความยาวของการโอนหรือบัฟเฟอร์ข้อมูลที่ระบุในบล็อกพารามิเตอร์นี้จะแยกตามขอบเขต
packetLength
เพื่อสร้างแพ็กเก็ตแต่ละรายการของการโอน
Recipient
ค่าแจกแจง
"device"
"interface"
"endpoint"
"อื่นๆ"
RequestType
ค่าแจกแจง
"standard"
"class"
"ผู้ขาย"
"reserved"
SynchronizationType
สำหรับโหมด Interrupt และ Isochronous นั้น SynchronizationType และ UsageType จะแมปกับชื่อเดียวกันภายในข้อกำหนด USB
ค่าแจกแจง
"ไม่พร้อมกัน"
"adaptive"
"synchronous"
TransferResultInfo
พร็อพเพอร์ตี้
-
เพิ่มเติม
ArrayBuffer ไม่บังคับ
ข้อมูลที่การโอนอินพุตส่งคืน
undefined
สำหรับการโอนเอาต์พุต -
resultCode
หมายเลข ไม่บังคับ
ค่า
0
แสดงว่าการโอนสำเร็จ ค่าอื่นๆ แสดงถึงความล้มเหลว
TransferType
ค่าแจกแจง
"control"
"interrupt"
"isochronous"
"bulk"
UsageType
ค่าแจกแจง
"data"
"feedback"
"explicitFeedback"
"periodic"
"การแจ้งเตือน"
เมธอด
bulkTransfer()
chrome.usb.bulkTransfer(
handle: ConnectionHandle,
transferInfo: GenericTransferInfo,
callback?: function,
): Promise<TransferResultInfo>
ดำเนินการโอนหลายรายการในอุปกรณ์ที่ระบุ
พารามิเตอร์
-
แฮนเดิล
การเชื่อมต่อกับอุปกรณ์ที่เปิดอยู่
-
transferInfo
พารามิเตอร์การโอน
-
callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(info: TransferResultInfo) => void
-
ข้อมูล
-
การคืนสินค้า
-
Promise<TransferResultInfo>
Chrome 116 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
claimInterface()
chrome.usb.claimInterface(
handle: ConnectionHandle,
interfaceNumber: number,
callback?: function,
): Promise<void>
อ้างสิทธิ์อินเทอร์เฟซในอุปกรณ์ USB คุณต้องอ้างสิทธิ์อินเทอร์เฟซก่อนจึงจะโอนข้อมูลไปยังอินเทอร์เฟซหรือปลายทางที่เชื่อมโยงได้ โดยมีเพียงแฮนเดิลการเชื่อมต่อเดียวเท่านั้นที่อ้างสิทธิ์อินเทอร์เฟซได้ในเวลาใดก็ตาม หากมีการอ้างสิทธิ์อินเทอร์เฟซแล้ว การเรียกนี้จะล้มเหลว
ควรเรียกใช้ releaseInterface
เมื่อไม่จำเป็นต้องใช้อินเทอร์เฟซอีกต่อไป
พารามิเตอร์
-
แฮนเดิล
การเชื่อมต่อกับอุปกรณ์ที่เปิดอยู่
-
interfaceNumber
ตัวเลข
อินเทอร์เฟซที่จะอ้างสิทธิ์
-
callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 116 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
closeDevice()
chrome.usb.closeDevice(
handle: ConnectionHandle,
callback?: function,
): Promise<void>
ปิดแฮนเดิลการเชื่อมต่อ การเรียกใช้การดำเนินการในแฮนเดิลหลังจากปิดไปแล้วเป็นการดำเนินการที่ปลอดภัย แต่จะไม่มีการดำเนินการใดๆ
พารามิเตอร์
-
แฮนเดิล
ConnectionHandle
เพื่อปิด -
callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 116 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
controlTransfer()
chrome.usb.controlTransfer(
handle: ConnectionHandle,
transferInfo: ControlTransferInfo,
callback?: function,
): Promise<TransferResultInfo>
ดำเนินการโอนการควบคุมในอุปกรณ์ที่ระบุ
การโอนการควบคุมหมายถึงอุปกรณ์ อินเทอร์เฟซ หรือปลายทาง การโอนไปยังอินเทอร์เฟซหรือปลายทางต้องมีการอ้างสิทธิ์อินเทอร์เฟซ
พารามิเตอร์
-
แฮนเดิล
การเชื่อมต่อกับอุปกรณ์ที่เปิดอยู่
-
transferInfo
-
callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(info: TransferResultInfo) => void
-
ข้อมูล
-
การคืนสินค้า
-
Promise<TransferResultInfo>
Chrome 116 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
findDevices()
chrome.usb.findDevices(
options: EnumerateDevicesAndRequestAccessOptions,
callback?: function,
): Promise<ConnectionHandle[]>
ค้นหาอุปกรณ์ USB ที่ระบุโดยรหัสผู้ให้บริการ ผลิตภัณฑ์ และ (ไม่บังคับ) อินเทอร์เฟซ และหากได้รับสิทธิ์ ก็จะเปิดอุปกรณ์เหล่านั้นเพื่อให้ใช้งานได้
หากคำขอเข้าถึงถูกปฏิเสธหรือเปิดอุปกรณ์ไม่สำเร็จ ระบบจะไม่สร้างหรือแสดงแฮนเดิลการเชื่อมต่อ
การเรียกใช้เมธอดนี้เทียบเท่ากับการเรียกใช้ getDevices
ตามด้วย openDevice
สำหรับแต่ละอุปกรณ์
พารามิเตอร์
-
พร็อพเพอร์ตี้ที่จะค้นหาในอุปกรณ์เป้าหมาย
-
callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(handles: ConnectionHandle[]) => void
-
แฮนเดิล
-
การคืนสินค้า
-
Promise<ConnectionHandle[]>
Chrome 116 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
getConfiguration()
chrome.usb.getConfiguration(
handle: ConnectionHandle,
callback?: function,
): Promise<ConfigDescriptor>
รับตัวอธิบายการกำหนดค่าสำหรับการกำหนดค่าที่เลือกอยู่ในปัจจุบัน
พารามิเตอร์
-
แฮนเดิล
การเชื่อมต่อกับอุปกรณ์ที่เปิดอยู่
-
callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(config: ConfigDescriptor) => void
-
การกำหนดค่า
-
การคืนสินค้า
-
Promise<ConfigDescriptor>
Chrome 116 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
getConfigurations()
chrome.usb.getConfigurations(
device: Device,
callback?: function,
): Promise<ConfigDescriptor[]>
แสดงผลชุดตัวอธิบายการกำหนดค่าอุปกรณ์ทั้งหมด
พารามิเตอร์
-
อุปกรณ์
Device
ที่จะดึงตัวอธิบายจาก -
callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(configs: ConfigDescriptor[]) => void
-
การกำหนดค่า
-
การคืนสินค้า
-
Promise<ConfigDescriptor[]>
Chrome 116 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
getDevices()
chrome.usb.getDevices(
options: EnumerateDevicesOptions,
callback?: function,
): Promise<Device[]>
แสดงรายการอุปกรณ์ USB ที่เชื่อมต่อ
พารามิเตอร์
การคืนสินค้า
-
Promise<Device[]>
Chrome 116 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
getUserSelectedDevices()
chrome.usb.getUserSelectedDevices(
options: DevicePromptOptions,
callback?: function,
): Promise<Device[]>
แสดงเครื่องมือเลือกอุปกรณ์ต่อผู้ใช้และส่งคืน Device
ที่เลือก หากผู้ใช้ยกเลิกตัวเลือก อุปกรณ์จะว่างเปล่า ต้องมีการแตะของผู้ใช้เพื่อให้กล่องโต้ตอบแสดง หากไม่มีท่าทางของผู้ใช้ ระบบจะเรียกใช้โค้ดเรียกกลับราวกับว่าผู้ใช้ยกเลิก
พารามิเตอร์
การคืนสินค้า
-
Promise<Device[]>
Chrome 116 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
interruptTransfer()
chrome.usb.interruptTransfer(
handle: ConnectionHandle,
transferInfo: GenericTransferInfo,
callback?: function,
): Promise<TransferResultInfo>
ดำเนินการโอนการขัดจังหวะในอุปกรณ์ที่ระบุ
พารามิเตอร์
-
แฮนเดิล
การเชื่อมต่อกับอุปกรณ์ที่เปิดอยู่
-
transferInfo
พารามิเตอร์การโอน
-
callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(info: TransferResultInfo) => void
-
ข้อมูล
-
การคืนสินค้า
-
Promise<TransferResultInfo>
Chrome 116 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
isochronousTransfer()
chrome.usb.isochronousTransfer(
handle: ConnectionHandle,
transferInfo: IsochronousTransferInfo,
callback?: function,
): Promise<TransferResultInfo>
ดำเนินการโอนแบบไอโซโครนัสในอุปกรณ์ที่เฉพาะเจาะจง
พารามิเตอร์
-
แฮนเดิล
การเชื่อมต่อกับอุปกรณ์ที่เปิดอยู่
-
transferInfo
-
callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(info: TransferResultInfo) => void
-
ข้อมูล
-
การคืนสินค้า
-
Promise<TransferResultInfo>
Chrome 116 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
listInterfaces()
chrome.usb.listInterfaces(
handle: ConnectionHandle,
callback?: function,
): Promise<InterfaceDescriptor[]>
แสดงอินเทอร์เฟซทั้งหมดในอุปกรณ์ USB
พารามิเตอร์
-
แฮนเดิล
การเชื่อมต่อกับอุปกรณ์ที่เปิดอยู่
-
callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(descriptors: InterfaceDescriptor[]) => void
-
ตัวบอกลักษณะ
-
การคืนสินค้า
-
Promise<InterfaceDescriptor[]>
Chrome 116 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
openDevice()
chrome.usb.openDevice(
device: Device,
callback?: function,
): Promise<ConnectionHandle>
เปิดอุปกรณ์ USB ที่ getDevices
ส่งคืน
พารามิเตอร์
-
อุปกรณ์
Device
เพื่อเปิด -
callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(handle: ConnectionHandle) => void
-
แฮนเดิล
-
การคืนสินค้า
-
Promise<ConnectionHandle>
Chrome 116 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
releaseInterface()
chrome.usb.releaseInterface(
handle: ConnectionHandle,
interfaceNumber: number,
callback?: function,
): Promise<void>
เลิกใช้อินเทอร์เฟซที่อ้างสิทธิ์
พารามิเตอร์
-
แฮนเดิล
การเชื่อมต่อกับอุปกรณ์ที่เปิดอยู่
-
interfaceNumber
ตัวเลข
อินเทอร์เฟซที่จะเปิดตัว
-
callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 116 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
requestAccess()
chrome.usb.requestAccess(
device: Device,
interfaceId: number,
callback?: function,
): Promise<boolean>
ฟังก์ชันนี้เป็นฟังก์ชันเฉพาะของ ChromeOS และการเรียกใช้ในแพลตฟอร์มอื่นๆ จะไม่สำเร็จ ตอนนี้ระบบจะดำเนินการนี้โดยนัยเป็นส่วนหนึ่งของ openDevice
และฟังก์ชันนี้จะแสดงผล true
ในทุกแพลตฟอร์ม
ขอสิทธิ์เข้าถึงจาก Permission Broker ไปยังอุปกรณ์ที่ Chrome OS อ้างสิทธิ์ หากไม่ได้อ้างสิทธิ์อินเทอร์เฟซที่ระบุในอุปกรณ์
พารามิเตอร์
-
อุปกรณ์
Device
เพื่อขอสิทธิ์เข้าถึง -
interfaceId
ตัวเลข
อินเทอร์เฟซที่เฉพาะเจาะจงที่ขอ
-
callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(success: boolean) => void
-
สำเร็จ
บูลีน
-
การคืนสินค้า
-
Promise<boolean>
Chrome 116 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
resetDevice()
chrome.usb.resetDevice(
handle: ConnectionHandle,
callback?: function,
): Promise<boolean>
พยายามรีเซ็ตอุปกรณ์ USB หากรีเซ็ตไม่สำเร็จ ระบบจะปิดแฮนเดิลการเชื่อมต่อที่ระบุและอุปกรณ์ USB จะปรากฏว่ายกเลิกการเชื่อมต่อแล้ว จากนั้นจะเชื่อมต่อใหม่ ในกรณีนี้ ต้องเรียกใช้ getDevices
หรือ findDevices
อีกครั้งเพื่อรับอุปกรณ์
พารามิเตอร์
-
แฮนเดิล
แฮนเดิลการเชื่อมต่อที่จะรีเซ็ต
-
callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(success: boolean) => void
-
สำเร็จ
บูลีน
-
การคืนสินค้า
-
Promise<boolean>
Chrome 116 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
setConfiguration()
chrome.usb.setConfiguration(
handle: ConnectionHandle,
configurationValue: number,
callback?: function,
): Promise<void>
เลือกการกำหนดค่าอุปกรณ์
ฟังก์ชันนี้จะรีเซ็ตอุปกรณ์อย่างมีประสิทธิภาพโดยเลือกการกำหนดค่าที่มีให้ใช้งานอย่างใดอย่างหนึ่งของอุปกรณ์ ค่าการกำหนดค่าที่มากกว่า 0
เท่านั้นจึงจะใช้ได้ แต่อุปกรณ์ที่มีข้อบกพร่องบางเครื่องมีการกำหนดค่า 0
ที่ใช้งานได้ ดังนั้นจึงอนุญาตให้ใช้ค่านี้
พารามิเตอร์
-
แฮนเดิล
การเชื่อมต่อกับอุปกรณ์ที่เปิดอยู่
-
configurationValue
ตัวเลข
-
callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 116 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
setInterfaceAlternateSetting()
chrome.usb.setInterfaceAlternateSetting(
handle: ConnectionHandle,
interfaceNumber: number,
alternateSetting: number,
callback?: function,
): Promise<void>
เลือกการตั้งค่าอื่นในอินเทอร์เฟซที่อ้างสิทธิ์ไว้ก่อนหน้านี้
พารามิเตอร์
-
แฮนเดิล
การเชื่อมต่อที่เปิดอยู่กับอุปกรณ์ที่มีการอ้างสิทธิ์อินเทอร์เฟซนี้
-
interfaceNumber
ตัวเลข
อินเทอร์เฟซที่จะกำหนดค่า
-
alternateSetting
ตัวเลข
การตั้งค่าสำรองที่จะกำหนดค่า
-
callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 116 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ 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