chrome.bluetoothSocket

説明

chrome.bluetoothSocket API を使用すると、RFCOMM 接続と L2CAP 接続を使用して Bluetooth デバイスとの間でデータを送受信できます。

マニフェスト

この API を使用するには、次のキーをマニフェストで宣言する必要があります。

"bluetooth"

AcceptError

列挙型

"system_error"
システムエラーが発生したため、接続を復元できない可能性があります。

"not_listening"
ソケットがリッスンしていません。

AcceptErrorInfo

プロパティ

  • エラー

    問題の内容を示すエラーコード。

  • errorMessage

    文字列

    エラー メッセージ。

  • socketId

    数値

    サーバー ソケット ID。

AcceptInfo

プロパティ

  • clientSocketId

    数値

    クライアント ソケット識別子。つまり、新しく確立された接続のソケット識別子です。このソケット ID は chrome.bluetoothSocket 名前空間の関数でのみ使用する必要があります。クライアント ソケットは最初は一時停止されていますが、データの受信を開始するには、アプリケーションによって明示的に一時停止を解除する必要があります。

  • socketId

    数値

    サーバー ソケット ID。

CreateInfo

プロパティ

  • socketId

    数値

    新しく作成されたソケットの ID。この API で作成されたソケット ID は、[sockets.tcp](../sockets_tcp/) API など、他の API から作成されたソケット ID と互換性がないことに注意してください。

ListenOptions

プロパティ

  • バックログ

    数値(省略可)

    ソケットのリッスン キューの長さ。デフォルト値は、オペレーティング システムのホスト サブシステムによって異なります。

  • チャンネル

    数値(省略可)

    listenUsingRfcomm が使用する RFCOMM チャネル。指定する場合、このチャネルは以前に使用されていないものである必要があります。使用されていない場合、メソッド呼び出しは失敗します。指定しない場合、未使用のチャネルが自動的に割り当てられます。

  • PSM

    数値(省略可)

    listenUsingL2cap が使用する L2CAP PSM。指定する場合、この PSM は以前に使用されていないこと、またはメソッド呼び出しが失敗することがあります。指定しない場合、未使用の PSM が自動的に割り当てられます。

ReceiveError

列挙型

"disconnected"
接続が切断されました。

"system_error"
システムエラーが発生したため、接続を復元できない可能性があります。

"not_connected"
ソケットが接続されていません。

ReceiveErrorInfo

プロパティ

  • エラー

    問題の内容を示すエラーコード。

  • errorMessage

    文字列

    エラー メッセージ。

  • socketId

    数値

    ソケット ID。

ReceiveInfo

プロパティ

  • データ

    ArrayBuffer

    受信データ。最大サイズは bufferSize です。

  • socketId

    数値

    ソケット ID。

SocketInfo

プロパティ

  • 住所

    文字列(省略可)

    基になるソケットが接続されている場合に、接続先のデバイスの Bluetooth アドレスが格納されます。

  • bufferSize

    数値(省略可)

    データの受信に使用されるバッファのサイズ。バッファサイズが明示的に指定されていない場合、値は提供されません。

  • 接続済み

    ブール値

    ソケットがリモートピアに接続されているかどうかを示すフラグ。

  • name

    文字列(省略可)

    ソケットに関連付けられている、アプリケーション定義の文字列。

  • 一時停止

    ブール値

    接続されたソケットがピアからのそれ以上のデータ送信をブロックしているかどうか、リスニング ソケットの接続リクエストが onAccept イベントによってディスパッチされるか、リッスンキュー バックログのキューに入れられたかを示すフラグ。setPaused をご覧ください。デフォルト値は「False」です。

  • 永続

    ブール値

    アプリのイベントページがアンロードされたとき、ソケットが開いたままであるかどうかを示すフラグ(SocketProperties.persistent を参照)。デフォルト値は「false」です。

  • socketId

    数値

    ソケット ID。

  • uuid

    文字列(省略可)

    基になるソケットが接続されている場合は、接続先のサービス UUID に関する情報が含まれます。基になるソケットがリッスンしている場合は、リッスンしているサービス UUID に関する情報が含まれます。

SocketProperties

プロパティ

  • bufferSize

    数値(省略可)

    データの受信に使用されるバッファのサイズ。デフォルト値は 4096 です。

  • name

    文字列(省略可)

    ソケットに関連付けられている、アプリケーション定義の文字列。

  • 永続

    ブール値(省略可)

    アプリのイベントページがアンロードされたときにソケットが開いたままになっているかどうかを示すフラグ(アプリのライフサイクルを管理するをご覧ください)。デフォルト値は false. です。アプリケーションが読み込まれると、以前に Persistent=true を指定して開いたソケットは getSockets でフェッチできます。

メソッド

close()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.bluetoothSocket.close(
  socketId: number,
  callback?: function,
)

ソケットを切断して破棄します。作成された各ソケットは使用後に閉じる必要があります。関数が呼び出されるとすぐにソケット ID は無効になります。ただし、コールバックが呼び出されたときにのみソケットが閉じることが保証されます。

パラメータ

  • socketId

    数値

    ソケット ID。

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    () => void

戻り値

  • 約束 <void>

    Chrome 91 以降

    Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

connect()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.bluetoothSocket.connect(
  socketId: number,
  address: string,
  uuid: string,
  callback?: function,
)

リモート Bluetooth デバイスにソケットを接続します。connect オペレーションが正常に完了すると、ピアからデータを受信したときに onReceive イベントが発生します。ランタイムがパケットを受信中にネットワーク エラーが発生すると、onReceiveError イベントが発生します。この時点で、setPaused(false) メソッドが呼び出されるまで、このソケットの onReceive イベントは発生しません。

パラメータ

  • socketId

    数値

    ソケット ID。

  • 住所

    文字列

    Bluetooth デバイスのアドレスです。

  • uuid

    文字列

    接続先のサービスの UUID。

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    () => void

戻り値

  • 約束 <void>

    Chrome 91 以降

    Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

create()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.bluetoothSocket.create(
  properties?: SocketProperties,
  callback?: function,
)

Bluetooth ソケットを作成します。

パラメータ

  • プロパティ

    SocketProperties オプション

    ソケットのプロパティ(省略可)。

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    (createInfo: CreateInfo) => void

    • createInfo

      ソケット作成の結果。

戻り値

  • Promise&lt;CreateInfo&gt;

    Chrome 91 以降

    Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

disconnect()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.bluetoothSocket.disconnect(
  socketId: number,
  callback?: function,
)

ソケットを切断します。ソケット ID は引き続き有効です。

パラメータ

  • socketId

    数値

    ソケット ID。

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    () => void

戻り値

  • 約束 <void>

    Chrome 91 以降

    Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

getInfo()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.bluetoothSocket.getInfo(
  socketId: number,
  callback?: function,
)

指定したソケットの状態を取得します。

パラメータ

  • socketId

    数値

    ソケット ID。

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    (socketInfo: SocketInfo) => void

    • socketInfo

      ソケット情報を含むオブジェクト。

戻り値

  • Promise&lt;SocketInfo&gt;

    Chrome 91 以降

    Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

getSockets()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.bluetoothSocket.getSockets(
  callback?: function,
)

アプリケーションが所有する、現在開いているソケットのリストを取得します。

パラメータ

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    (sockets: SocketInfo[]) => void

戻り値

  • Promise&lt;SocketInfo[]&gt;

    Chrome 91 以降

    Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

listenUsingL2cap()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.bluetoothSocket.listenUsingL2cap(
  socketId: number,
  uuid: string,
  options?: ListenOptions,
  callback?: function,
)

L2CAP プロトコルを使用して接続をリッスンします。

パラメータ

  • socketId

    数値

    ソケット ID。

  • uuid

    文字列

    リッスンするサービス UUID。

  • オプション

    ListenOptions(省略可)

    サービスの追加オプション(省略可)。

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    () => void

戻り値

  • 約束 <void>

    Chrome 91 以降

    Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

listenUsingRfcomm()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.bluetoothSocket.listenUsingRfcomm(
  socketId: number,
  uuid: string,
  options?: ListenOptions,
  callback?: function,
)

RFCOMM プロトコルを使用して接続をリッスンします。

パラメータ

  • socketId

    数値

    ソケット ID。

  • uuid

    文字列

    リッスンするサービス UUID。

  • オプション

    ListenOptions(省略可)

    サービスの追加オプション(省略可)。

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    () => void

戻り値

  • 約束 <void>

    Chrome 91 以降

    Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

send()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.bluetoothSocket.send(
  socketId: number,
  data: ArrayBuffer,
  callback?: function,
)

指定した Bluetooth ソケットでデータを送信します。

パラメータ

  • socketId

    数値

    ソケット ID。

  • データ

    ArrayBuffer

    送信するデータ。

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    (bytesSent: number) => void

    • bytesSent

      数値

      送信されたバイト数。

戻り値

  • Promise&lt;number&gt;

    Chrome 91 以降

    Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

setPaused()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.bluetoothSocket.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)

接続されたソケットがピアからメッセージを受信すること、またはリスニング ソケットが新しい接続を受け入れることを有効または無効にします。デフォルト値は「false」です。接続されているソケットを一時停止すると、アプリケーションはピアから送信されたデータを抑制するために通常使用されます。接続されたソケットが一時停止すると、onReceiveイベントは発生しません。ソケットが接続され、一時停止が解除されると、メッセージを受信すると、再び onReceive イベントが発生します。リスニング ソケットが一時停止すると、バックログがいっぱいになるまで新しい接続が受け入れられ、追加の接続要求は拒否されます。onAccept イベントは、ソケットの一時停止が解除されたときにのみ発生します。

パラメータ

  • socketId

    数値

  • 一時停止

    ブール値

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    () => void

戻り値

  • 約束 <void>

    Chrome 91 以降

    Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

update()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.bluetoothSocket.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)

ソケットのプロパティを更新します。

パラメータ

  • socketId

    数値

    ソケット ID。

  • プロパティ

    更新するプロパティ。

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    () => void

戻り値

  • 約束 <void>

    Chrome 91 以降

    Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

イベント

onAccept

chrome.bluetoothSocket.onAccept.addListener(
  callback: function,
)

特定のソケットの接続が確立されたときに発生するイベント。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (info: AcceptInfo) => void

onAcceptError

chrome.bluetoothSocket.onAcceptError.addListener(
  callback: function,
)

ランタイムが指定されたソケットで新しい接続を待機しているときにネットワーク エラーが発生した場合に発生するイベント。このイベントが発生すると、ソケットは paused に設定され、このソケットの onAccept イベントは発生しません。

パラメータ

onReceive

chrome.bluetoothSocket.onReceive.addListener(
  callback: function,
)

特定のソケットでデータを受信したときに発生するイベント。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (info: ReceiveInfo) => void

onReceiveError

chrome.bluetoothSocket.onReceiveError.addListener(
  callback: function,
)

ランタイムがソケットでデータを待機している間にネットワーク エラーが発生したときに発生するイベント。このイベントが発生すると、ソケットは paused に設定され、このソケットの onReceive イベントは発生しません。

パラメータ