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
:
Acesse o
BluetoothAdapter
.O
BluetoothAdapter
é necessário para toda e qualquer atividade do Bluetooth. ABluetoothAdapter
representa o próprio adaptador Bluetooth do dispositivo (o rádio Bluetooth). Para ter umBluetoothAdapter
, primeiro você precisa ter umContext
. Use esse contexto para conseguir uma instância deBluetoothManager
serviço do sistema. Ligando paraBluetoothManager#getAdapter
vai fornecer um objetoBluetoothAdapter
. SegetAdapter()
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 }
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, chamestartActivityForResult()
, passando umACTION_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.
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.