Как на Android перехватить Bluetooth-пакеты в "сыром" виде?

Рейтинг: 1Ответов: 0Опубликовано: 10.02.2023

С помощью BroadcastReceiver() я получаю интент, а затем из него всю необходимую информацию об Bluetooth-устройстве. Как из полученного интента получить данные об устройстве в "сыром" виде, то есть битовое представление? По типу "0x1DFF2D0102000110A3BB72A526EA44BC8B9B4F0D0B341CEACA3DC7E30CEA"

private val mReceiver = object : BroadcastReceiver() {
    override fun onReceive(context: Context, intent: Intent) {
        try {
            var action = ""
            if (intent!=null) {
                action = intent.action.toString()
            }
            when(action){

                BluetoothAdapter.ACTION_STATE_CHANGED ->{
                }

                BluetoothAdapter.ACTION_DISCOVERY_STARTED ->{
                    binding.progressBar.visibility = View.VISIBLE
                    Snackbar.make(binding.root, "Scanning", Snackbar.LENGTH_LONG).show()
                }

                BluetoothDevice.ACTION_FOUND ->{
                    val device = intent?.getParcelableExtra<BluetoothDevice>(BluetoothDevice.EXTRA_DEVICE)
                    if(device!=null) {
                        Snackbar.make(binding.root, "Found ${device.name} ${device.address}", Snackbar.LENGTH_LONG).show()
                    }
                }

                BluetoothAdapter.ACTION_DISCOVERY_FINISHED ->{
                    binding.progressBar.visibility = View.GONE
                }
            }
        } catch (e:SecurityException){
        }
    }
}

Ответы

Ответов пока нет.