chrome.bluetooth

설명

chrome.bluetooth API를 사용하여 블루투스 기기에 연결합니다. 모든 함수는 chrome.runtime.lastError를 통해 실패를 보고합니다.

가용성

ChromeOS만 해당

매니페스트

이 API를 사용하려면 매니페스트에 다음 키를 선언해야 합니다.

"bluetooth"

유형

AdapterState

속성

  • 주소

    문자열

    'XX:XX:XX:XX:XX:XX' 형식의 어댑터 주소입니다.

  • 사용 가능

    부울

    어댑터를 사용할 수 있는지 (즉, 사용 설정되어 있는지) 여부를 나타냅니다.

  • 탐색 중

    부울

    어댑터가 현재 검색 중인지 여부를 나타냅니다.

  • 이름

    문자열

    인간이 읽을 수 있는 어댑터 이름입니다.

  • powered

    부울

    어댑터에 전원이 공급되는지 여부를 나타냅니다.

BluetoothFilter

Chrome 67 이상

속성

  • filterType

    FilterType 선택사항

    기기 목록에 적용할 필터 유형입니다. 기본값은 모두입니다.

  • 제한

    number 선택사항

    반환할 최대 블루투스 기기 수입니다. 지정하지 않으면 기본값은 0 (제한 없음)입니다.

Device

속성

  • 주소

    문자열

    'XX:XX:XX:XX:XX:XX' 형식의 기기 주소입니다.

  • batteryPercentage

    number 선택사항

    Chrome 77 이상

    기기의 배터리 잔량입니다.

  • 연결 가능

    불리언 선택사항

    Chrome 48 이상

    기기가 연결 가능한지 여부를 나타냅니다.

  • 연결됨

    불리언 선택사항

    기기가 현재 시스템에 연결되어 있는지 나타냅니다.

  • 연결 중

    불리언 선택사항

    Chrome 48 이상

    기기가 현재 시스템에 연결 중인지 나타냅니다.

  • deviceClass

    number 선택사항

    기기의 클래스, http://www.bluetooth.org/en-us/specification/assigned-numbers/baseband에 정의된 비트 필드입니다.

  • deviceId

    number 선택사항

  • inquiryRssi

    number 선택사항

    Chrome 44 이상

    수신 신호 강도(dBm)입니다. 이 필드는 탐색 중에만 사용할 수 있고 유효합니다. 탐색 외부에서는 값이 지정되지 않습니다.

  • inquiryTxPower

    number 선택사항

    Chrome 44 이상

    전송된 전력 수준입니다. 이 필드는 AD에 이 필드가 포함된 LE 기기에만 사용할 수 있습니다. 탐색 중에만 사용할 수 있고 유효합니다.

  • 이름

    문자열 선택사항

    인간이 읽을 수 있는 기기 이름입니다.

  • 페어링됨

    불리언 선택사항

    기기가 시스템과 페어링되었는지 여부를 나타냅니다.

  • productId

    number 선택사항

  • 전송

    전송 선택사항

    Chrome 76 이상

    블루투스 기기의 전송 유형입니다.

  • 유형

    DeviceType 선택사항

    Chrome에서 인식하는 기기 유형입니다. 이는 deviceClass 필드에서 가져오며 가능한 기기 유형 중 일부만 나타냅니다. 확실하지 않은 경우 deviceClass 필드를 직접 사용해야 합니다.

  • uuids

    string[] 선택사항

    기기에서 알리는 프로토콜, 프로필, 서비스의 UUID입니다. 기본 블루투스 기기의 경우 이 목록은 EIR 데이터 및 SDP 테이블에서 가져옵니다. 저전력 기기의 경우 이 목록은 AD 및 GATT 기본 서비스에서 가져옵니다. 듀얼 모드 기기의 경우 두 모드 모두에서 가져올 수 있습니다.

  • vendorId

    number 선택사항

  • vendorIdSource

    VendorIdSource 선택사항

    기기의 기기 ID 기록(사용 가능한 경우)

DeviceType

Chrome에서 인식하는 일반적인 기기 유형입니다.

열거형

'computer'

"phone"

'modem'

"audio"

"carAudio"

"video"

"peripheral"

"joystick"

"gamepad"

"keyboard"

'mouse'

"tablet"

"keyboardMouseCombo"

FilterType

Chrome 67 이상

블루투스 기기 필터링 유형입니다.

열거형

"all"

'known'

Transport

Chrome 76 이상

블루투스 기기의 전송 유형입니다.

열거형

'invalid'

'classic'

'le'

"dual"

VendorIdSource

공급업체 ID 할당 기관입니다.

열거형

"bluetooth"

"usb"

메서드

getAdapterState()

Promise
chrome.bluetooth.getAdapterState(
  callback?: function,
)
: Promise<AdapterState>

블루투스 어댑터에 관한 정보를 가져옵니다.

매개변수

  • callback

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    (adapterInfo: AdapterState) => void

    • adapterInfo

      어댑터 정보가 포함된 객체입니다.

반환 값

  • Promise<AdapterState>

    Chrome 91 이상

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

getDevice()

Promise
chrome.bluetooth.getDevice(
  deviceAddress: string,
  callback?: function,
)
: Promise<Device>

시스템에 알려진 블루투스 기기에 관한 정보를 가져옵니다.

매개변수

  • deviceAddress

    문자열

    가져올 기기의 주소입니다.

  • callback

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    (deviceInfo: Device) => void

    • deviceInfo

      기기 정보가 포함된 객체입니다.

반환 값

  • Promise<Device>

    Chrome 91 이상

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

getDevices()

Promise
chrome.bluetooth.getDevices(
  filter?: BluetoothFilter,
  callback?: function,
)
: Promise<Device[]>

페어링된 기기 및 최근에 검색된 기기를 포함하여 시스템에 알려진 블루투스 기기 목록을 가져옵니다.

매개변수

  • filter

    BluetoothFilter 선택사항

    Chrome 67 이상

    반환된 블루투스 기기 목록을 필터링하는 기준입니다. 필터가 설정되지 않거나 {}로 설정된 경우 반환된 기기 목록에 모든 블루투스 기기가 포함됩니다. 현재 이 기능은 ChromeOS에서만 지원되며, 다른 플랫폼의 경우 전체 목록이 반환됩니다.

  • callback

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    (deviceInfos: Device[]) => void

    • deviceInfos

      기기 정보가 포함된 객체 배열입니다.

반환 값

  • Promise<Device[]>

    Chrome 91 이상

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

startDiscovery()

Promise
chrome.bluetooth.startDiscovery(
  callback?: function,
)
: Promise<void>

검색을 시작합니다. 새로 발견된 기기는 onDeviceAdded 이벤트를 통해 반환됩니다. 어댑터에 이미 알려진 이전에 검색된 기기는 getDevices를 사용하여 가져와야 하며, 해당 기기에 관한 정보가 변경되는 경우에만 onDeviceChanged 이벤트를 사용하여 업데이트됩니다.

이 애플리케이션이 이미 startDiscovery를 호출한 경우 탐색이 시작되지 않습니다. 탐색은 리소스를 많이 사용할 수 있으므로 가능한 한 빨리 stopDiscovery를 호출해야 합니다.

매개변수

  • callback

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    () => void

반환 값

  • 약속<void>

    Chrome 91 이상

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

stopDiscovery()

Promise
chrome.bluetooth.stopDiscovery(
  callback?: function,
)
: Promise<void>

탐색을 중지합니다.

매개변수

  • callback

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    () => void

반환 값

  • 약속<void>

    Chrome 91 이상

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

이벤트

onAdapterStateChanged

chrome.bluetooth.onAdapterStateChanged.addListener(
  callback: function,
)

블루투스 어댑터의 상태가 변경되면 실행됩니다.

매개변수

onDeviceAdded

chrome.bluetooth.onDeviceAdded.addListener(
  callback: function,
)

새 블루투스 기기에 관한 정보를 사용할 수 있을 때 실행됩니다.

매개변수

  • callback

    함수

    callback 매개변수는 다음과 같습니다.

    (device: Device) => void

onDeviceChanged

chrome.bluetooth.onDeviceChanged.addListener(
  callback: function,
)

알려진 블루투스 기기에 관한 정보가 변경되면 실행됩니다.

매개변수

  • callback

    함수

    callback 매개변수는 다음과 같습니다.

    (device: Device) => void

onDeviceRemoved

chrome.bluetooth.onDeviceRemoved.addListener(
  callback: function,
)

이전에 검색된 블루투스 기기가 다시 사용할 수 없는 것으로 간주될 만큼 오랫동안 범위를 벗어난 경우와 페어링된 기기가 삭제된 경우에 실행됩니다.

매개변수

  • callback

    함수

    callback 매개변수는 다음과 같습니다.

    (device: Device) => void