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