คำอธิบาย
ใช้ chrome.bluetoothSocket
API เพื่อส่งและรับข้อมูลไปยังอุปกรณ์บลูทูธโดยใช้การเชื่อมต่อ RFCOMM และ L2CAP
ไฟล์ Manifest
ประเภท
AcceptError
ค่าแจกแจง
"system_error"
เกิดข้อผิดพลาดของระบบและอาจกู้คืนการเชื่อมต่อไม่ได้
"not_listening"
ซ็อกเก็ตไม่ได้ฟังอยู่
AcceptErrorInfo
พร็อพเพอร์ตี้
-
error
รหัสข้อผิดพลาดที่ระบุว่าเกิดข้อผิดพลาดอะไรขึ้น
-
errorMessage
string
ข้อความแสดงข้อผิดพลาด
-
socketId
ตัวเลข
ตัวระบุซ็อกเก็ตเซิร์ฟเวอร์
AcceptInfo
พร็อพเพอร์ตี้
-
clientSocketId
ตัวเลข
ตัวระบุซ็อกเก็ตไคลเอ็นต์ ซึ่งก็คือตัวระบุซ็อกเก็ตของการเชื่อมต่อที่สร้างขึ้นใหม่ ควรใช้ตัวระบุซ็อกเก็ตนี้กับฟังก์ชันจากเนมสเปซ
chrome.bluetoothSocket
เท่านั้น โปรดทราบว่าซ็อกเก็ตไคลเอ็นต์จะหยุดชั่วคราวในตอนแรกและแอปพลิเคชันต้องยกเลิกการหยุดชั่วคราวอย่างชัดแจ้งเพื่อเริ่มรับข้อมูล -
socketId
ตัวเลข
ตัวระบุซ็อกเก็ตเซิร์ฟเวอร์
CreateInfo
พร็อพเพอร์ตี้
-
socketId
ตัวเลข
รหัสของซ็อกเก็ตที่สร้างใหม่ โปรดทราบว่ารหัสซ็อกเก็ตที่สร้างจาก API นี้ใช้ไม่ได้กับรหัสซ็อกเก็ตที่สร้างจาก API อื่นๆ เช่น API
[
sockets.tcp](../sockets_tcp/)
ListenOptions
พร็อพเพอร์ตี้
-
งานค้าง
ตัวเลข ไม่บังคับ
ความยาวของคิวการฟังของซ็อกเก็ต ค่าเริ่มต้นขึ้นอยู่กับระบบย่อยของโฮสต์ของระบบปฏิบัติการ
-
ช่อง
ตัวเลข ไม่บังคับ
แชแนล RFCOMM ใช้โดย
listenUsingRfcomm
หากระบุ จะต้องไม่มีการใช้แชแนลนี้มาก่อน มิฉะนั้นการเรียกใช้เมธอดจะล้มเหลว เมื่อไม่ได้ระบุ ระบบจะจัดสรรช่องที่ไม่ได้ใช้งานโดยอัตโนมัติ -
PSM
ตัวเลข ไม่บังคับ
PSM ของ L2CAP ใช้โดย
listenUsingL2cap
หากระบุ PSM นี้จะไม่มีการใช้งานอยู่ก่อนหน้านี้หรือการเรียกใช้เมธอดล้มเหลว เมื่อไม่ได้ระบุ ระบบจะจัดสรร PSM ที่ไม่ได้ใช้โดยอัตโนมัติ
ReceiveError
ค่าแจกแจง
"ยกเลิกการเชื่อมต่อ"
การเชื่อมต่อถูกตัด
"system_error"
เกิดข้อผิดพลาดของระบบและอาจกู้คืนการเชื่อมต่อไม่ได้
"not_connected"
เต้ารับไม่ได้เชื่อมต่อ
ReceiveErrorInfo
พร็อพเพอร์ตี้
-
error
รหัสข้อผิดพลาดที่ระบุว่าเกิดข้อผิดพลาดอะไรขึ้น
-
errorMessage
string
ข้อความแสดงข้อผิดพลาด
-
socketId
ตัวเลข
ตัวระบุซ็อกเก็ต
ReceiveInfo
พร็อพเพอร์ตี้
-
ข้อมูล
ArrayBuffer
ข้อมูลที่ได้รับมีขนาดสูงสุดไม่เกิน
bufferSize
-
socketId
ตัวเลข
ตัวระบุซ็อกเก็ต
SocketInfo
พร็อพเพอร์ตี้
-
จัดการ
string ไม่บังคับ
หากมีที่อยู่บลูทูธของอุปกรณ์ที่เชื่อมต่ออยู่ จะมีที่อยู่บลูทูธของอุปกรณ์ที่เชื่อมต่ออยู่
-
bufferSize
ตัวเลข ไม่บังคับ
ขนาดของบัฟเฟอร์ที่ใช้รับข้อมูล หากไม่ได้ระบุขนาดบัฟเฟอร์อย่างชัดแจ้ง จะไม่มีการระบุค่า
-
เชื่อมต่อแล้ว
boolean
การแจ้งที่ระบุว่าเต้ารับเชื่อมต่อกับอุปกรณ์ระยะไกลหรือไม่
-
ชื่อ
string ไม่บังคับ
สตริงที่กำหนดโดยแอปพลิเคชันที่เชื่อมโยงกับซ็อกเก็ต
-
หยุดชั่วคราว
boolean
การแจ้งที่ระบุว่าซ็อกเก็ตที่เชื่อมต่อบล็อกเพียร์ไม่ให้ส่งข้อมูลเพิ่มเติม หรือมีคำขอการเชื่อมต่อบนซ็อกเก็ตการฟังผ่านเหตุการณ์
onAccept
หรือต่อคิวในคิวการรอฟังหรือไม่ ดูsetPaused
ค่าเริ่มต้นคือ "false" -
ต่อเนื่อง
boolean
การแจ้งที่ระบุว่าซ็อกเก็ตยังคงเปิดอยู่เมื่อหน้ากิจกรรมของแอปพลิเคชันถูกยกเลิกการโหลด (ดู
SocketProperties.persistent
) ค่าเริ่มต้นคือ "false" -
socketId
ตัวเลข
ตัวระบุซ็อกเก็ต
-
uuid
string ไม่บังคับ
หากซ็อกเก็ตพื้นฐานเชื่อมต่ออยู่ จะมีข้อมูลเกี่ยวกับ UUID ของบริการที่เชื่อมต่ออยู่ หากซ็อกเก็ตพื้นฐานกำลังฟังอยู่ ก็จะมีข้อมูลเกี่ยวกับ UUID ของบริการที่กําลังฟังอยู่
SocketProperties
พร็อพเพอร์ตี้
-
bufferSize
ตัวเลข ไม่บังคับ
ขนาดของบัฟเฟอร์ที่ใช้รับข้อมูล ค่าเริ่มต้นคือ 4096
-
ชื่อ
string ไม่บังคับ
สตริงที่กำหนดโดยแอปพลิเคชันที่เชื่อมโยงกับซ็อกเก็ต
-
ต่อเนื่อง
บูลีน ไม่บังคับ
การแจ้งที่ระบุว่าซ็อกเก็ตเปิดค้างไว้หรือไม่เมื่อยกเลิกการโหลดหน้ากิจกรรมของแอปพลิเคชัน (ดูจัดการวงจรของแอป) ค่าเริ่มต้นคือ
false.
เมื่อโหลดแอปพลิเคชันแล้ว ซ็อกเก็ตใดๆ ที่เปิดไว้ก่อนหน้านี้ด้วย authentic=true จะสามารถดึงข้อมูลด้วยgetSockets
ได้
วิธีการ
close()
chrome.bluetoothSocket.close(
socketId: number,
callback?: function,
)
ถอดและทำลายเต้ารับ ควรปิดซ็อกเก็ตแต่ละรายการที่สร้างขึ้นหลังการใช้งาน ระบบจะใช้รหัสซ็อกเก็ตทันทีที่เรียกใช้ฟังก์ชัน อย่างไรก็ตาม ระบบจะรับประกันว่าซ็อกเก็ตจะปิดก็ต่อเมื่อเรียกใช้โค้ดเรียกกลับเท่านั้น
พารามิเตอร์
-
socketId
ตัวเลข
ตัวระบุซ็อกเก็ต
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 91 ขึ้นไปPromiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ
connect()
chrome.bluetoothSocket.connect(
socketId: number,
address: string,
uuid: string,
callback?: function,
)
เชื่อมต่อเต้ารับกับอุปกรณ์บลูทูธระยะไกล เมื่อการดำเนินการ connect
เสร็จสมบูรณ์ ระบบจะเพิ่มเหตุการณ์ onReceive
รายการเมื่อได้รับข้อมูลจากเพียร์ หากข้อผิดพลาดของเครือข่ายเกิดขึ้นขณะที่รันไทม์ได้รับแพ็กเก็ต ระบบจะสร้างเหตุการณ์ onReceiveError
ซึ่งจะไม่เกิดเหตุการณ์ onReceive
สำหรับซ็อกเก็ตนี้อีกจนกว่าจะมีการเรียกใช้เมธอด setPaused(false)
พารามิเตอร์
-
socketId
ตัวเลข
ตัวระบุซ็อกเก็ต
-
จัดการ
string
ที่อยู่ของอุปกรณ์บลูทูธ
-
uuid
string
UUID ของบริการที่จะเชื่อมต่อ
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 91 ขึ้นไปPromiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ
create()
chrome.bluetoothSocket.create(
properties?: SocketProperties,
callback?: function,
)
สร้างซ็อกเก็ตบลูทูธ
พารามิเตอร์
-
พร็อพเพอร์ตี้
SocketProperties ไม่บังคับ
คุณสมบัติของซ็อกเก็ต (ไม่บังคับ)
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(createInfo: CreateInfo) => void
-
createInfo
ผลของการสร้างซ็อกเก็ต
-
การคืนสินค้า
-
Promise<CreateInfo>
Chrome 91 ขึ้นไปPromiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ
disconnect()
chrome.bluetoothSocket.disconnect(
socketId: number,
callback?: function,
)
ถอดเต้ารับออก ตัวระบุซ็อกเก็ตยังคงถูกต้อง
พารามิเตอร์
-
socketId
ตัวเลข
ตัวระบุซ็อกเก็ต
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 91 ขึ้นไปPromiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ
getInfo()
chrome.bluetoothSocket.getInfo(
socketId: number,
callback?: function,
)
ดึงสถานะของซ็อกเก็ตที่ระบุ
พารามิเตอร์
-
socketId
ตัวเลข
ตัวระบุซ็อกเก็ต
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(socketInfo: SocketInfo) => void
-
socketInfo
ออบเจ็กต์ที่มีข้อมูลซ็อกเก็ต
-
การคืนสินค้า
-
Promise<SocketInfo>
Chrome 91 ขึ้นไปPromiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ
getSockets()
chrome.bluetoothSocket.getSockets(
callback?: function,
)
เรียกรายการซ็อกเก็ตที่เปิดอยู่ในปัจจุบันที่แอปพลิเคชันเป็นเจ้าของ
พารามิเตอร์
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(sockets: SocketInfo[]) => void
-
ซ็อกเก็ต
-
การคืนสินค้า
-
Promise<SocketInfo[]>
Chrome 91 ขึ้นไปPromiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ
listenUsingL2cap()
chrome.bluetoothSocket.listenUsingL2cap(
socketId: number,
uuid: string,
options?: ListenOptions,
callback?: function,
)
ฟังการเชื่อมต่อโดยใช้โปรโตคอล L2CAP
พารามิเตอร์
-
socketId
ตัวเลข
ตัวระบุซ็อกเก็ต
-
uuid
string
UUID บริการที่จะรอฟัง
-
ตัวเลือก
ListenOptions ไม่บังคับ
ตัวเลือกเพิ่มเติมสำหรับบริการ
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 91 ขึ้นไปPromiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ
listenUsingRfcomm()
chrome.bluetoothSocket.listenUsingRfcomm(
socketId: number,
uuid: string,
options?: ListenOptions,
callback?: function,
)
ฟังการเชื่อมต่อโดยใช้โปรโตคอล RFCOMM
พารามิเตอร์
-
socketId
ตัวเลข
ตัวระบุซ็อกเก็ต
-
uuid
string
UUID บริการที่จะรอฟัง
-
ตัวเลือก
ListenOptions ไม่บังคับ
ตัวเลือกเพิ่มเติมสำหรับบริการ
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 91 ขึ้นไปPromiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ
send()
chrome.bluetoothSocket.send(
socketId: number,
data: ArrayBuffer,
callback?: function,
)
ส่งข้อมูลบนซ็อกเก็ตบลูทูธที่ระบุ
พารามิเตอร์
-
socketId
ตัวเลข
ตัวระบุซ็อกเก็ต
-
ข้อมูล
ArrayBuffer
ข้อมูลที่จะส่ง
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(bytesSent: number) => void
-
bytesSent
ตัวเลข
จำนวนไบต์ที่ส่ง
-
การคืนสินค้า
-
คำมั่นสัญญา<number>
Chrome 91 ขึ้นไปPromiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ
setPaused()
chrome.bluetoothSocket.setPaused(
socketId: number,
paused: boolean,
callback?: function,
)
เปิดหรือปิดใช้ซ็อกเก็ตที่เชื่อมต่อไม่ให้รับข้อความจากเพียร์ หรือซ็อกเก็ตการฟังจากการยอมรับการเชื่อมต่อใหม่ ค่าเริ่มต้นคือ "false" โดยทั่วไปแล้ว แอปพลิเคชันจะใช้การหยุดซ็อกเก็ตที่เชื่อมต่อชั่วคราวเพื่อควบคุมข้อมูลที่แอปเทียบเท่าส่ง เมื่อซ็อกเก็ตที่เชื่อมต่อหยุดชั่วคราว จะไม่มีการยกเหตุการณ์onReceive
ขึ้น เมื่อเชื่อมต่อซ็อกเก็ตและยกเลิกการหยุดชั่วคราวแล้ว onReceive
เหตุการณ์จะปรากฏขึ้นอีกครั้งเมื่อได้รับข้อความ เมื่อซ็อกเก็ตการฟังหยุดชั่วคราว ระบบจะยอมรับการเชื่อมต่อใหม่จนกว่า Backlog จะเต็ม จากนั้นจะปฏิเสธคำขอเชื่อมต่อเพิ่มเติม เหตุการณ์ onAccept
จะเกิดขึ้นเฉพาะเมื่อซ็อกเก็ตเลิกหยุดชั่วคราวเท่านั้น
พารามิเตอร์
-
socketId
ตัวเลข
-
หยุดชั่วคราว
boolean
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 91 ขึ้นไปPromiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ
update()
chrome.bluetoothSocket.update(
socketId: number,
properties: SocketProperties,
callback?: function,
)
อัปเดตพร็อพเพอร์ตี้ซ็อกเก็ต
พารามิเตอร์
-
socketId
ตัวเลข
ตัวระบุซ็อกเก็ต
-
พร็อพเพอร์ตี้
พร็อพเพอร์ตี้ที่จะอัปเดต
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 91 ขึ้นไปPromiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ
กิจกรรม
onAccept
chrome.bluetoothSocket.onAccept.addListener(
callback: function,
)
เหตุการณ์เกิดขึ้นเมื่อมีการเชื่อมต่อสำหรับซ็อกเก็ตที่ระบุ
พารามิเตอร์
-
Callback
ฟังก์ชัน
พารามิเตอร์
callback
มีลักษณะดังนี้(info: AcceptInfo) => void
-
ข้อมูล
-
onAcceptError
chrome.bluetoothSocket.onAcceptError.addListener(
callback: function,
)
เหตุการณ์เกิดขึ้นเมื่อเกิดข้อผิดพลาดเกี่ยวกับเครือข่ายขณะที่รันไทม์กำลังรอการเชื่อมต่อใหม่บนซ็อกเก็ตที่ระบุ เมื่อยกระดับเหตุการณ์นี้ ซ็อกเก็ตจะตั้งค่าเป็น paused
และจะไม่เพิ่มเหตุการณ์ onAccept
สำหรับซ็อกเก็ตนี้อีก
พารามิเตอร์
-
Callback
ฟังก์ชัน
พารามิเตอร์
callback
มีลักษณะดังนี้(info: AcceptErrorInfo) => void
-
ข้อมูล
-
onReceive
chrome.bluetoothSocket.onReceive.addListener(
callback: function,
)
เหตุการณ์เกิดขึ้นเมื่อได้รับข้อมูลสำหรับซ็อกเก็ตที่ระบุ
พารามิเตอร์
-
Callback
ฟังก์ชัน
พารามิเตอร์
callback
มีลักษณะดังนี้(info: ReceiveInfo) => void
-
ข้อมูล
-
onReceiveError
chrome.bluetoothSocket.onReceiveError.addListener(
callback: function,
)
เหตุการณ์เกิดขึ้นเมื่อเกิดข้อผิดพลาดเกี่ยวกับเครือข่ายขณะที่รันไทม์กำลังรอข้อมูลในซ็อกเก็ต เมื่อยกระดับเหตุการณ์นี้ ซ็อกเก็ตจะตั้งค่าเป็น paused
และจะไม่เพิ่มเหตุการณ์ onReceive
สำหรับซ็อกเก็ตนี้อีก
พารามิเตอร์
-
Callback
ฟังก์ชัน
พารามิเตอร์
callback
มีลักษณะดังนี้(info: ReceiveErrorInfo) => void
-
ข้อมูล
-