Ich habe einen Broadcast-Empfänger in Android implementiert, um alle verfügbaren Bluetooth-Signale zu hören. Der Empfänger funktioniert, zeigt aber nur vier Geräte an. Wenn ich manuell nach Geräten im Android-Menü suche, sehe ich plötzlich acht verschiedene Geräte in meiner App.Bluetooth Scan Ergebnisse mit manuellen Scan in Android
Wie kann ich alle verfügbaren Geräte ohne manuellen Scan sehen?
Code:
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());
}
}
};
Ich benutze den gleichen BroadcastReceiver und es funktioniert für mich, es zeigt alle Geräte im Bereich. Stellen Sie sicher, dass Ihr Gerät nicht gekoppelt ist, während Sie diesen Code ausführen, da dies die Bandbreite verringert. – B1nd0
Ich habe die Idee, dass es etwas mit Bluetooth Low Energy Geräten zu tun hat, die ich mit diesem Receiver nicht automatisch empfangen kann. Ich bin mir sicher, dass ich mit keinem der Geräte, die ich scanne, gepaart bin. – DigiDude