Witam,
Mógłby ktoś udzielić mi jakiejś wskazówki jak po wywołaniu .startDiscovery() mogę w jak najprostszy sposób dobrać się ( tylko ) do nazw znalezionych urządzeń przez Bluetooth?
Czytałem różne źródła ale średnio mi to idzie...
Wszędzie polecają onReceive(), ale nie rozumiem dokładniej z czym to się je...
Narazie wziąłem sobie przykład z developer.android.com - mam coś takiego:
BluetoothAdapter BTadapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// ---------- BLUETOOTH:
BTadapter = BluetoothAdapter.getDefaultAdapter();
BTadapter.startDiscovery()
// Register the BroadcastReceiver
IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
registerReceiver(mReceiver, filter); // Don't forget to unregister during onDestroy
// Register for broadcasts when discovery has finished
filter = new IntentFilter(BluetoothAdapter.ACTION_DISCOVERY_FINISHED);
this.registerReceiver(mReceiver, filter);
}
public final BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
TextView01.setText("Pierwsze");
// When discovery finds a device
if (BluetoothDevice.ACTION_FOUND.equals(action)) {
TextView01.setText("Znalazlo");
}
else if (BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action)) {
TextView01.setText("Nic nie znalazlo");
}
TextView01.setText("Ostatnie");
}
};
}
Kombinuje, ale nic nie wychodzi :PP Od razu po uruchomieniu aplikacji TextView01 wyświetla tekst "Powitanie" i się nie zmienia w ogóle ( więc z jakiegoś powodu pomija mi ACTION_FOUND i ACTION_DISCOVERY_FINISHED ). Będę wdzięczny za wskazówki co robię źle.
Na wszelki wypadek dodam że pozwolenia ustawiłem w AndroidManifest.xml - i chodzi mi o nazwy nie sparowanych urządzeń...