Я внедрил широковещательный приемник в Android для прослушивания всех доступных сигналов Bluetooth. Приемник работает, но отображает только четыре устройства. Когда я вручную просматриваю устройства в меню Android, я неожиданно вижу восемь разных устройств в своем приложении.Результаты сканирования Bluetooth увеличиваются с помощью ручного сканирования в Android
Как я могу просмотреть все доступные устройства без ручного сканирования?
Код:
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
// When discovery finds a device
if (BluetoothDevice.ACTION_FOUND.equals(action)) {
// Get the BluetoothDevice object from the Intent
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
// Add the name and address to an array adapter to show in a ListView
int rssi = intent.getShortExtra(BluetoothDevice.EXTRA_RSSI,Short.MIN_VALUE);
Log.d("bluetoothSignal", "name: "+ device.getName() + " adress: "+ device.getAddress() + "strength: "+ rssi + " Data: " + intent.getData());
mArrayAdapter.add(device.getName() + "\n" + device.getAddress());
}
}
};
Я использую тот же BroadcastReceiver, и он работает для меня, он показывает все устройства в области. Убедитесь, что ваше устройство не спарено во время запуска этого кода, поскольку это снижает пропускную способность. – B1nd0
Я понимаю, что это связано с устройствами с низким энергопотреблением Bluetooth, которые я не могу автоматически получать с помощью этого ресивера. Я очень уверен, что не подключен ни к одному из устройств, которые я просматриваю. – DigiDude