คำอธิบาย
ใช้ 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 Specification Revision 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 ไม่บังคับ
โหมดการซิงค์การโอน (แบบ Isochronous เท่านั้น)
-
ประเภท
ประเภทการโอน
-
การใช้งาน
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
-
คำอธิบาย
สตริง ไม่บังคับ
คำอธิบายอินเทอร์เฟซ
-
อุปกรณ์ปลายทาง
ปลายทางที่ใช้ได้
-
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
สำหรับโหมดการขัดจังหวะและโหมดแบบไอโซโครนัส SynchronizationType และ UsageType จะแมปกับชื่อเดียวกันในข้อกำหนดเฉพาะของ USB
ค่าแจกแจง
"asynchronous"
"adaptive"
"synchronous"
TransferResultInfo
พร็อพเพอร์ตี้
-
ข้อมูล
ArrayBuffer ไม่บังคับ
ข้อมูลที่แสดงผลจากการโอนอินพุต
undefined
สำหรับการโอนเอาต์พุต -
resultCode
ตัวเลข ไม่บังคับ
ค่า
0
บ่งบอกว่าการโอนสําเร็จ ค่าอื่นๆ บ่งบอกถึงความล้มเหลว
TransferType
ค่าแจกแจง
"control"
"interrupt"
"isochronous"
"bulk"
UsageType
ค่าแจกแจง
"data"
"feedback"
"explicitFeedback"
"periodic"
"notification"
เมธอด
bulkTransfer()
chrome.usb.bulkTransfer(
handle: ConnectionHandle,
transferInfo: GenericTransferInfo,
callback?: function,
)
ดำเนินการโอนแบบเป็นกลุ่มในอุปกรณ์ที่ระบุ
พารามิเตอร์
-
แฮนเดิล
การเชื่อมต่อกับอุปกรณ์ที่เปิดอยู่
-
transferInfo
พารามิเตอร์การโอน
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
จะมีลักษณะดังนี้(info: TransferResultInfo) => void
-
ข้อมูล
-
การคืนสินค้า
-
Promise<TransferResultInfo>
Chrome 116 ขึ้นไประบบรองรับ Promises สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
claimInterface()
chrome.usb.claimInterface(
handle: ConnectionHandle,
interfaceNumber: number,
callback?: function,
)
อ้างสิทธิ์อินเทอร์เฟซในอุปกรณ์ USB คุณต้องอ้างสิทธิ์อินเทอร์เฟซก่อนจึงจะโอนข้อมูลไปยังอินเทอร์เฟซหรือปลายทางที่เชื่อมโยงได้ แฮนเดิลการเชื่อมต่อจะอ้างสิทธิ์อินเทอร์เฟซได้เพียงรายการเดียวในเวลาใดก็ได้ หากมีการอ้างสิทธิ์อินเทอร์เฟซแล้ว การเรียกใช้นี้จะดำเนินการไม่สำเร็จ
ควรเรียก releaseInterface
เมื่อไม่จำเป็นต้องใช้อินเทอร์เฟซอีกต่อไป
พารามิเตอร์
-
แฮนเดิล
การเชื่อมต่อกับอุปกรณ์ที่เปิดอยู่
-
interfaceNumber
ตัวเลข
อินเทอร์เฟซที่จะอ้างสิทธิ์
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
จะมีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 116 ขึ้นไประบบรองรับ Promises สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
closeDevice()
chrome.usb.closeDevice(
handle: ConnectionHandle,
callback?: function,
)
ปิดตัวแฮนเดิลการเชื่อมต่อ การเรียกใช้การดำเนินการกับแฮนเดิลหลังจากที่ปิดไปแล้วเป็นการดำเนินการที่ปลอดภัย แต่จะไม่มีการดําเนินการใดๆ
พารามิเตอร์
-
แฮนเดิล
ConnectionHandle
เพื่อปิด -
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
จะมีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 116 ขึ้นไประบบรองรับ Promises สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
controlTransfer()
chrome.usb.controlTransfer(
handle: ConnectionHandle,
transferInfo: ControlTransferInfo,
callback?: function,
)
ดำเนินการโอนการควบคุมในอุปกรณ์ที่ระบุ
การควบคุมการโอนหมายถึงอุปกรณ์ อินเทอร์เฟซ หรืออุปกรณ์ปลายทาง การโอนไปยังอินเทอร์เฟซหรือปลายทางต้องอ้างสิทธิ์อินเทอร์เฟซ
พารามิเตอร์
-
แฮนเดิล
การเชื่อมต่อกับอุปกรณ์ที่เปิดอยู่
-
transferInfo
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
จะมีลักษณะดังนี้(info: TransferResultInfo) => void
-
ข้อมูล
-
การคืนสินค้า
-
Promise<TransferResultInfo>
Chrome 116 ขึ้นไประบบรองรับ Promises สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
findDevices()
chrome.usb.findDevices(
options: EnumerateDevicesAndRequestAccessOptions,
callback?: function,
)
ค้นหาอุปกรณ์ USB ที่ระบุโดยผู้ให้บริการ ผลิตภัณฑ์ และรหัสอินเทอร์เฟซ (ไม่บังคับ) และเปิดอุปกรณ์เพื่อใช้งานหากได้รับสิทธิ์
หากคำขอเข้าถึงถูกปฏิเสธหรือเปิดอุปกรณ์ไม่สำเร็จ ระบบจะไม่สร้างหรือแสดงตัวแฮนเดิลการเชื่อมต่อ
การเรียกใช้เมธอดนี้จะเทียบเท่ากับการเรียกใช้ getDevices
ตามด้วย openDevice
สำหรับอุปกรณ์แต่ละเครื่อง
พารามิเตอร์
-
พร็อพเพอร์ตี้ที่จะค้นหาในอุปกรณ์เป้าหมาย
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
จะมีลักษณะดังนี้(handles: ConnectionHandle[]) => void
-
แฮนเดิล
-
การคืนสินค้า
-
Promise<ConnectionHandle[]>
Chrome 116 ขึ้นไประบบรองรับ Promises สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
getConfiguration()
chrome.usb.getConfiguration(
handle: ConnectionHandle,
callback?: function,
)
รับตัวบ่งชี้การกําหนดค่าสําหรับการกําหนดค่าที่เลือกอยู่ในปัจจุบัน
พารามิเตอร์
-
แฮนเดิล
การเชื่อมต่อกับอุปกรณ์ที่เปิดอยู่
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
จะมีลักษณะดังนี้(config: ConfigDescriptor) => void
-
การกำหนดค่า
-
การคืนสินค้า
-
Promise<ConfigDescriptor>
Chrome 116 ขึ้นไประบบรองรับ Promises สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
getConfigurations()
chrome.usb.getConfigurations(
device: Device,
callback?: function,
)
แสดงผลชุดตัวบ่งชี้การกำหนดค่าอุปกรณ์ทั้งหมด
พารามิเตอร์
-
อุปกรณ์
Device
ที่จะดึงข้อมูลคําอธิบาย -
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
จะมีลักษณะดังนี้(configs: ConfigDescriptor[]) => void
-
configs
-
การคืนสินค้า
-
Promise<ConfigDescriptor[]>
Chrome 116 ขึ้นไประบบรองรับ Promises สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
getDevices()
chrome.usb.getDevices(
options: EnumerateDevicesOptions,
callback?: function,
)
แสดงรายการอุปกรณ์ USB ที่เชื่อมต่อ
พารามิเตอร์
การคืนสินค้า
-
Promise<Device[]>
Chrome 116 ขึ้นไประบบรองรับ Promises สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
getUserSelectedDevices()
chrome.usb.getUserSelectedDevices(
options: DevicePromptOptions,
callback?: function,
)
แสดงเครื่องมือเลือกอุปกรณ์ต่อผู้ใช้และแสดง Device
ที่เลือก หากผู้ใช้ยกเลิก เครื่องมือเลือกอุปกรณ์จะว่างเปล่า ผู้ใช้ต้องทำการจับคู่ท่าทางสัมผัสเพื่อให้กล่องโต้ตอบแสดง หากไม่มีท่าทางสัมผัสของผู้ใช้ การทำงานแบบเรียกกลับจะทํางานราวกับว่าผู้ใช้ยกเลิก
พารามิเตอร์
การคืนสินค้า
-
Promise<Device[]>
Chrome 116 ขึ้นไประบบรองรับ Promises สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
interruptTransfer()
chrome.usb.interruptTransfer(
handle: ConnectionHandle,
transferInfo: GenericTransferInfo,
callback?: function,
)
ดำเนินการโอนแบบขัดจังหวะในอุปกรณ์ที่ระบุ
พารามิเตอร์
-
แฮนเดิล
การเชื่อมต่อกับอุปกรณ์ที่เปิดอยู่
-
transferInfo
พารามิเตอร์การโอน
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
จะมีลักษณะดังนี้(info: TransferResultInfo) => void
-
ข้อมูล
-
การคืนสินค้า
-
Promise<TransferResultInfo>
Chrome 116 ขึ้นไประบบรองรับ Promises สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
isochronousTransfer()
chrome.usb.isochronousTransfer(
handle: ConnectionHandle,
transferInfo: IsochronousTransferInfo,
callback?: function,
)
ดำเนินการโอนแบบ Isochronous ในอุปกรณ์ที่เฉพาะเจาะจง
พารามิเตอร์
-
แฮนเดิล
การเชื่อมต่อกับอุปกรณ์ที่เปิดอยู่
-
transferInfo
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
จะมีลักษณะดังนี้(info: TransferResultInfo) => void
-
ข้อมูล
-
การคืนสินค้า
-
Promise<TransferResultInfo>
Chrome 116 ขึ้นไประบบรองรับ Promises สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
listInterfaces()
chrome.usb.listInterfaces(
handle: ConnectionHandle,
callback?: function,
)
แสดงอินเทอร์เฟซทั้งหมดในอุปกรณ์ USB
พารามิเตอร์
-
แฮนเดิล
การเชื่อมต่อกับอุปกรณ์ที่เปิดอยู่
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
จะมีลักษณะดังนี้(descriptors: InterfaceDescriptor[]) => void
-
ข้อบ่งชี้
-
การคืนสินค้า
-
Promise<InterfaceDescriptor[]>
Chrome 116 ขึ้นไประบบรองรับ Promises สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
openDevice()
chrome.usb.openDevice(
device: Device,
callback?: function,
)
เปิดอุปกรณ์ USB ที่ getDevices
แสดง
พารามิเตอร์
-
อุปกรณ์
Device
เพื่อเปิด -
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
จะมีลักษณะดังนี้(handle: ConnectionHandle) => void
-
แฮนเดิล
-
การคืนสินค้า
-
Promise<ConnectionHandle>
Chrome 116 ขึ้นไประบบรองรับ Promises สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
releaseInterface()
chrome.usb.releaseInterface(
handle: ConnectionHandle,
interfaceNumber: number,
callback?: function,
)
ถอนการอ้างสิทธิ์อินเทอร์เฟซ
พารามิเตอร์
-
แฮนเดิล
การเชื่อมต่อกับอุปกรณ์ที่เปิดอยู่
-
interfaceNumber
ตัวเลข
อินเทอร์เฟซที่จะเผยแพร่
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
จะมีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 116 ขึ้นไประบบรองรับ Promises สำหรับไฟล์ 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
-
สำเร็จ
บูลีน
-
การคืนสินค้า
-
Promise<boolean>
Chrome 116 ขึ้นไประบบรองรับ Promises สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
resetDevice()
chrome.usb.resetDevice(
handle: ConnectionHandle,
callback?: function,
)
พยายามรีเซ็ตอุปกรณ์ USB หากรีเซ็ตไม่สำเร็จ แฮนเดิลการเชื่อมต่อที่ระบุจะปิดลง และอุปกรณ์ USB จะดูเหมือนว่าขาดการเชื่อมต่อแล้วเชื่อมต่อใหม่ ในกรณีนี้ คุณต้องเรียกใช้ getDevices
หรือ findDevices
อีกครั้งเพื่อรับอุปกรณ์
พารามิเตอร์
-
แฮนเดิล
แฮนเดิลการเชื่อมต่อที่จะรีเซ็ต
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
จะมีลักษณะดังนี้(success: boolean) => void
-
สำเร็จ
บูลีน
-
การคืนสินค้า
-
Promise<boolean>
Chrome 116 ขึ้นไประบบรองรับ Promises สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
setConfiguration()
chrome.usb.setConfiguration(
handle: ConnectionHandle,
configurationValue: number,
callback?: function,
)
เลือกการกำหนดค่าอุปกรณ์
ฟังก์ชันนี้จะรีเซ็ตอุปกรณ์ได้อย่างมีประสิทธิภาพโดยเลือกการกำหนดค่าที่มีให้ใช้งานของอุปกรณ์ เฉพาะค่าการกําหนดค่าที่มากกว่า 0
เท่านั้นที่ใช้ได้ แต่อุปกรณ์ที่มีปัญหาบางเครื่องมีการกําหนดค่า 0
ที่ใช้งานได้ เราจึงอนุญาตให้ใช้ค่านี้ได้
พารามิเตอร์
-
แฮนเดิล
การเชื่อมต่อกับอุปกรณ์ที่เปิดอยู่
-
configurationValue
ตัวเลข
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
จะมีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 116 ขึ้นไประบบรองรับ Promises สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
setInterfaceAlternateSetting()
chrome.usb.setInterfaceAlternateSetting(
handle: ConnectionHandle,
interfaceNumber: number,
alternateSetting: number,
callback?: function,
)
เลือกการตั้งค่าอื่นในอินเทอร์เฟซที่อ้างสิทธิ์ไว้ก่อนหน้านี้
พารามิเตอร์
-
แฮนเดิล
การเชื่อมต่อที่เปิดอยู่กับอุปกรณ์ที่มีการอ้างสิทธิ์อินเทอร์เฟซนี้
-
interfaceNumber
ตัวเลข
อินเทอร์เฟซที่จะกําหนดค่า
-
alternateSetting
ตัวเลข
การตั้งค่าอื่นที่จะกำหนดค่า
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
จะมีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 116 ขึ้นไประบบรองรับ Promises สำหรับไฟล์ 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