Configurar o Bluetooth

Antes que seu app possa se comunicar por Bluetooth ou Bluetooth de baixa energia, você precisa verificar se o dispositivo permite Bluetooth e, em caso afirmativo, verifique se ele está ativado. Essa verificação só será necessária se o O atributo android:required na entrada do arquivo de manifesto <uses-feature.../> está Defina como false.

Se o Bluetooth não estiver disponível, desative todos os dispositivos atributos de machine learning. Se houver suporte para Bluetooth, mas estiver desativado, você poderá solicitar que o o usuário ativar o Bluetooth sem sair do app.

A primeira etapa é como adicionar as permissões de Bluetooth ao seu arquivo de manifesto para usar as seguintes APIs.

Com as permissões em vigor, a configuração do Bluetooth é realizada em duas etapas usando o BluetoothAdapter:

  1. Acesse o BluetoothAdapter.

    O BluetoothAdapter é necessário para toda e qualquer atividade do Bluetooth. A BluetoothAdapter representa o próprio adaptador Bluetooth do dispositivo (o rádio Bluetooth). Para ter um BluetoothAdapter, primeiro você precisa ter um Context. Use esse contexto para conseguir uma instância de BluetoothManager serviço do sistema. Ligando para BluetoothManager#getAdapter vai fornecer um objeto BluetoothAdapter. Se getAdapter() retornar um valor nulo, o dispositivo não é compatível com Bluetooth.

    Exemplo:

    Kotlin

    val bluetoothManager: BluetoothManager = getSystemService(BluetoothManager::class.java)
    val bluetoothAdapter: BluetoothAdapter? = bluetoothManager.getAdapter()
    if (bluetoothAdapter == null) {
      // Device doesn't support Bluetooth
    }
    

    Java

    BluetoothManager bluetoothManager = getSystemService(BluetoothManager.class);
    BluetoothAdapter bluetoothAdapter = bluetoothManager.getAdapter();
    if (bluetoothAdapter == null) {
      // Device doesn't support Bluetooth
    }
    
  2. Ative o Bluetooth.

    Em seguida, é necessário garantir a ativação do Bluetooth. Ligação isEnabled() para verifica se o Bluetooth está ativado no momento. Se o método retornar "false", o Bluetooth será desativado. Para solicitar a ativação do Bluetooth, chame startActivityForResult(), passando um ACTION_REQUEST_ENABLE ação da intent. Esta chamada solicita a ativação do Bluetooth por meio do configurações do sistema (sem parar o aplicativo).

    Exemplo:

    Kotlin

    if (bluetoothAdapter?.isEnabled == false) {
      val enableBtIntent = Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE)
      startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT)
    }
    

    Java

    if (!bluetoothAdapter.isEnabled()) {
      Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
      startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
    }
    

Uma caixa de diálogo é exibida solicitando permissão do usuário para ativar o Bluetooth, conforme mostrado em Figura 1. Se o usuário conceder a permissão, o sistema começará a ativar o Bluetooth, e o foco retorna ao aplicativo quando o processo é concluído (ou apresenta falha).


Figura 1. Caixa de diálogo para ativar o Bluetooth.

A constante REQUEST_ENABLE_BT transmitida para startActivityForResult() é um número inteiro definido localmente que precisa ser maior ou igual a zero. O sistema passa essa constante para você onActivityResult() implementação como o parâmetro requestCode.

Se a ativação do Bluetooth for bem-sucedida, sua atividade receberá o Código de resultado RESULT_OK no onActivityResult(). Se o Bluetooth não foi ativado devido a um erro (ou o usuário respondeu "Negar") e o código de resultado será RESULT_CANCELED

Opcionalmente, seu aplicativo também pode detectar os ACTION_STATE_CHANGED intent de transmissão, que o sistema transmite sempre que o estado do Bluetooth mudanças. Esta transmissão contém os campos extras EXTRA_STATE e EXTRA_PREVIOUS_STATE, contendo os estados novo e antigo do Bluetooth, respectivamente. Valores possíveis para esses campos extras são STATE_TURNING_ON, STATE_ON, STATE_TURNING_OFF, e STATE_OFF. Ouvir essa transmissão pode ser útil se o app precisar detectar o ambiente de execução alterações feitas no estado do Bluetooth.

Dica:ativar a detecção do dispositivo automaticamente ativa Bluetooth Se você planeja sempre ativar a detecção do dispositivo antes realizando a atividade do Bluetooth, pule a etapa 2 nas etapas anteriores.

Depois de ativar o Bluetooth no dispositivo, você poderá usar o Bluetooth clássico e Bluetooth de baixa energia.

Para o Bluetooth clássico, você pode encontrar dispositivos Bluetooth e conecte-se a dispositivos Bluetooth.

Para Bluetooth de baixa energia, é possível encontrar dispositivos BLE, conectar-se a um servidor GATT e transferir dados do BLE.