chrome.bluetoothSocket

Descrição

Use a API chrome.bluetoothSocket para enviar e receber dados para dispositivos Bluetooth usando conexões RFCOMM e L2CAP.

Manifesto

As chaves a seguir precisam ser declaradas no manifesto para usar essa API.

"bluetooth"

Tipos

AcceptError

Enumeração

"system_error"
Ocorreu um erro no sistema, e a conexão pode ser irrecuperável.

"not_listening"
O soquete não está escutando.

AcceptErrorInfo

Propriedades

  • Um código de erro que indica o que deu errado.

  • errorMessage

    string

    A mensagem de erro.

  • socketId

    número

    O identificador do soquete do servidor.

AcceptInfo

Propriedades

  • clientSocketId

    número

    O identificador de soquete do cliente, ou seja, o identificador de soquete da conexão recém-estabelecida. Esse identificador de soquete só deve ser usado com funções do namespace chrome.bluetoothSocket. O soquete do cliente é pausado inicialmente e precisa ser explicitamente retomado pelo aplicativo para começar a receber dados.

  • socketId

    número

    O identificador do soquete do servidor.

CreateInfo

Propriedades

  • socketId

    número

    O ID do soquete recém-criado. Os IDs de soquete criados com essa API não são compatíveis com os IDs criados com outras APIs, como a [sockets.tcp](../sockets_tcp/).

ListenOptions

Propriedades

  • backlog

    number optional

    Comprimento da fila de espera do soquete. O valor padrão depende do subsistema host do sistema operacional.

  • canal

    number optional

    O canal RFCOMM usado por listenUsingRfcomm. Se especificado, esse canal não pode estar em uso. Caso contrário, a chamada de método vai falhar. Quando não especificado, um canal não usado será alocado automaticamente.

  • psm

    number optional

    O PSM L2CAP usado por listenUsingL2cap. Se especificado, esse PSM não pode estar em uso. Caso contrário, a chamada de método vai falhar. Quando não especificado, um PSM não usado será alocado automaticamente.

ReceiveError

Enumeração

"disconnected"
A conexão foi desconectada.

"system_error"
Ocorreu um erro no sistema, e a conexão pode ser irrecuperável.

"not_connected"
O soquete não foi conectado.

ReceiveErrorInfo

Propriedades

  • Um código de erro que indica o que deu errado.

  • errorMessage

    string

    A mensagem de erro.

  • socketId

    número

    O identificador do soquete.

ReceiveInfo

Propriedades

  • dados

    ArrayBuffer

    Os dados recebidos, com um tamanho máximo de bufferSize.

  • socketId

    número

    O identificador do soquete.

SocketInfo

Propriedades

  • endereço

    string opcional

    Se o soquete subjacente estiver conectado, vai conter o endereço Bluetooth do dispositivo a que ele está conectado.

  • bufferSize

    number optional

    O tamanho do buffer usado para receber dados. Se nenhum tamanho de buffer tiver sido especificado explicitamente, o valor não será fornecido.

  • conectado

    booleano

    Flag que indica se o soquete está conectado a um peer remoto.

  • nome

    string opcional

    String definida pelo aplicativo associada ao soquete.

  • pausado

    booleano

    Flag que indica se um soquete conectado impede que o peer envie mais dados ou se as solicitações de conexão em um soquete de escuta são enviadas pelo evento onAccept ou enfileiradas no backlog da fila de escuta. Consulte os setPaused. O valor padrão é "false".

  • persistente

    booleano

    Flag que indica se o soquete permanece aberto quando a página de evento do aplicativo é descarregada (consulte SocketProperties.persistent). O valor padrão é "false".

  • socketId

    número

    O identificador do soquete.

  • uuid

    string opcional

    Se o soquete subjacente estiver conectado, vai conter informações sobre o UUID do serviço a que ele está conectado. Caso contrário, se o soquete subjacente estiver escutando, vai conter informações sobre o UUID do serviço em que ele está escutando.

SocketProperties

Propriedades

  • bufferSize

    number optional

    O tamanho do buffer usado para receber dados. O valor padrão é 4096.

  • nome

    string opcional

    Uma string definida pelo aplicativo associada ao soquete.

  • persistente

    booleano opcional

    Flag que indica se o soquete fica aberto quando a página de eventos do aplicativo é descarregada. Consulte Gerenciar o ciclo de vida do app. O valor padrão é false.. Quando o aplicativo é carregado, todos os sockets abertos anteriormente com persistent=true podem ser buscados com getSockets.

Métodos

close()

Promise
chrome.bluetoothSocket.close(
  socketId: number,
  callback?: function,
)
: Promise<void>

Desconecta e destrói o soquete. Cada soquete criado precisa ser fechado após o uso. O ID do soquete não é mais válido assim que a função é chamada. No entanto, o soquete só será fechado quando o callback for invocado.

Parâmetros

  • socketId

    número

    O identificador do soquete.

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    () => void

Retorna

  • Promise<void>

    Chrome 91+

    As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

connect()

Promise
chrome.bluetoothSocket.connect(
  socketId: number,
  address: string,
  uuid: string,
  callback?: function,
)
: Promise<void>

Conecta o soquete a um dispositivo Bluetooth remoto. Quando a operação connect é concluída, os eventos onReceive são gerados quando os dados são recebidos do dispositivo semelhante. Se ocorrer um erro de rede enquanto o tempo de execução estiver recebendo pacotes, um evento onReceiveError será gerado. Nesse momento, nenhum outro evento onReceive será gerado para esse soquete até que o método setPaused(false) seja chamado.

Parâmetros

  • socketId

    número

    O identificador do soquete.

  • endereço

    string

    O endereço do dispositivo Bluetooth.

  • uuid

    string

    O UUID do serviço a que se conectar.

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    () => void

Retorna

  • Promise<void>

    Chrome 91+

    As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

create()

Promise
chrome.bluetoothSocket.create(
  properties?: SocketProperties,
  callback?: function,
)
: Promise<CreateInfo>

Cria um soquete Bluetooth.

Parâmetros

  • properties

    As propriedades do soquete (opcional).

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    (createInfo: CreateInfo) => void

    • createInfo

      O resultado da criação do soquete.

Retorna

  • Promise<CreateInfo>

    Chrome 91+

    As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

disconnect()

Promise
chrome.bluetoothSocket.disconnect(
  socketId: number,
  callback?: function,
)
: Promise<void>

Desconecta o soquete. O identificador de soquete permanece válido.

Parâmetros

  • socketId

    número

    O identificador do soquete.

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    () => void

Retorna

  • Promise<void>

    Chrome 91+

    As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

getInfo()

Promise
chrome.bluetoothSocket.getInfo(
  socketId: number,
  callback?: function,
)
: Promise<SocketInfo>

Recupera o estado do soquete especificado.

Parâmetros

  • socketId

    número

    O identificador do soquete.

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    (socketInfo: SocketInfo) => void

    • socketInfo

      Objeto que contém as informações do soquete.

Retorna

  • Promise<SocketInfo>

    Chrome 91+

    As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

getSockets()

Promise
chrome.bluetoothSocket.getSockets(
  callback?: function,
)
: Promise<SocketInfo[]>

Recupera a lista de sockets abertos no momento pertencentes ao aplicativo.

Parâmetros

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    (sockets: SocketInfo[]) => void

Retorna

  • Promise<SocketInfo[]>

    Chrome 91+

    As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

listenUsingL2cap()

Promise
chrome.bluetoothSocket.listenUsingL2cap(
  socketId: number,
  uuid: string,
  options?: ListenOptions,
  callback?: function,
)
: Promise<void>

Ouve conexões usando o protocolo L2CAP.

Parâmetros

  • socketId

    número

    O identificador do soquete.

  • uuid

    string

    UUID do serviço a ser detectado.

  • opções

    ListenOptions opcional

    Opções adicionais opcionais para o serviço.

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    () => void

Retorna

  • Promise<void>

    Chrome 91+

    As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

listenUsingRfcomm()

Promise
chrome.bluetoothSocket.listenUsingRfcomm(
  socketId: number,
  uuid: string,
  options?: ListenOptions,
  callback?: function,
)
: Promise<void>

Aguarde conexões usando o protocolo RFCOMM.

Parâmetros

  • socketId

    número

    O identificador do soquete.

  • uuid

    string

    UUID do serviço a ser detectado.

  • opções

    ListenOptions opcional

    Opções adicionais opcionais para o serviço.

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    () => void

Retorna

  • Promise<void>

    Chrome 91+

    As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

send()

Promise
chrome.bluetoothSocket.send(
  socketId: number,
  data: ArrayBuffer,
  callback?: function,
)
: Promise<number>

Envia dados no soquete Bluetooth especificado.

Parâmetros

  • socketId

    número

    O identificador do soquete.

  • dados

    ArrayBuffer

    Os dados a serem enviados.

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    (bytesSent: number) => void

    • bytesSent

      número

      O número de bytes enviados.

Retorna

  • Promise<number>

    Chrome 91+

    As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

setPaused()

Promise
chrome.bluetoothSocket.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)
: Promise<void>

Ativa ou desativa um soquete conectado para receber mensagens do mesmo nível ou um soquete de escuta para aceitar novas conexões. O valor padrão é "false". A pausa de um soquete conectado geralmente é usada por um aplicativo para limitar os dados enviados pelo peer. Quando um soquete conectado é pausado, nenhum evento onReceive é gerado. Quando um soquete é conectado e retomado, os eventos onReceive são gerados novamente quando as mensagens são recebidas. Quando um soquete de escuta é pausado, novas conexões são aceitas até que o backlog esteja cheio. Depois disso, outras solicitações de conexão são recusadas. Os eventos onAccept são gerados apenas quando o soquete é retomado.

Parâmetros

  • socketId

    número

  • pausado

    booleano

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    () => void

Retorna

  • Promise<void>

    Chrome 91+

    As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

update()

Promise
chrome.bluetoothSocket.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)
: Promise<void>

Atualiza as propriedades do soquete.

Parâmetros

  • socketId

    número

    O identificador do soquete.

  • properties

    As propriedades a serem atualizadas.

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    () => void

Retorna

  • Promise<void>

    Chrome 91+

    As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

Eventos

onAccept

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

Evento gerado quando uma conexão é estabelecida para um determinado soquete.

Parâmetros

  • callback

    função

    O parâmetro callback tem esta aparência:

    (info: AcceptInfo) => void

onAcceptError

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

Evento gerado quando ocorre um erro de rede enquanto o tempo de execução aguarda novas conexões no soquete especificado. Depois que esse evento é gerado, o soquete é definido como paused e nenhum outro evento onAccept é gerado para ele.

Parâmetros

onReceive

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

Evento gerado quando os dados são recebidos para um determinado soquete.

Parâmetros

  • callback

    função

    O parâmetro callback tem esta aparência:

    (info: ReceiveInfo) => void

onReceiveError

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

Evento gerado quando um erro de rede ocorreu enquanto o ambiente de execução aguardava dados no soquete. Depois que esse evento é gerado, o soquete é definido como paused e nenhum outro evento onReceive é gerado para ele.

Parâmetros