Sto provando a visualizzare i dispositivi bluetooth continuamente e mostrandoli sullo schermo, ma non mi mostra mai tutti i dispositivi, ma solo 1 alla volta. Non riesco a trovare quello che sto facendo male. ecco il mio codice, potrebbe essere possibile trovare qualsiasi problema in esso. Grazienon riesco a trovare tutti i dispositivi bluetooth android
class monitorBluetooth extends monitor {
private ListView mLvDevices;
private ArrayList<String> mDeviceList = new ArrayList<String>();
public monitorBluetooth(service service) {
super(service);
bluetooth = BluetoothAdapter.getDefaultAdapter();
this.bReceiver = new BluetoothReceiver();
}
public void finalize() throws Throwable {
super.finalize();
}
public void run() {
IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
service.registerReceiver(this.bReceiver, filter);
if(service != null) {
bluetooth = BluetoothAdapter.getDefaultAdapter();
bluetooth.startDiscovery();
}
}
class BluetoothReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
Set<BluetoothDevice> pairedDevices = bluetooth.getBondedDevices();
String action = intent.getAction();
if(BluetoothDevice.ACTION_FOUND.equals(action)) {
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
String uuid = intent.getStringExtra(BluetoothDevice.EXTRA_UUID);
int rssi = intent.getShortExtra(BluetoothDevice.EXTRA_RSSI,Short.MIN_VALUE);
mDeviceList.add(device.getAddress() + ", " + device.getName()); // get mac address
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, mDeviceList);
mLvDevices.setAdapter(adapter);
}
}
}
}
BluetoothAdapter bluetooth;
private BluetoothReceiver bReceiver;
Ho controllato con due dispositivi vicino a me con abilitazione Bluetooth ma posso essere solo uno, ho provato più volte abilitato –
! = Visibile, assicurarsi che siano visibili anche. È possibile aggiungere un messaggio Log.d sopra mDeviceList.add per vedere cosa succede. Potrebbe anche essere utile registrarsi a BluetoothAdapter.ACTION_DISCOVERY_STARTED e BluetoothAdapter.ACTION_DISCOVERY_FINISHED. – mikkokoo
di sicuro li ho resi visibili fammi provare con Log.d e altri filtri di intent che hai proposto –