Итак, я создал список, в котором перечислены некоторые устройства. Проблема в том, что я хочу щелкнуть одно из этих устройств в списке и подключиться к нему, но я не знаю, как это сделать. Я сделал некоторый код, чтобы попытаться подключиться к этим устройствам, но он не будет работать. Надеюсь, что кто-нибудь может мне помочь.
Мой код (упрощенный):
ListView lv;
ArrayList<String> devs = new ArrayList<String>();
ArrayAdapter<String> devsadap;
Button mBotOn, mBotOff, mBotDescubrir, mBotEmparejar, mBotEmp;
BluetoothAdapter mBlueAdapter;
private BluetoothSocket mBtSocket;
private BluetoothDevice mBtDevice;
private static final UUID SPP_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
WifiInfo wInfo = wifiManager.getConnectionInfo();
String macAddress = wInfo.getMacAddress();
connectToDevice(macAddress);
}
});
}
//probando funciones
private boolean connectToDevice (String macAddress){
try {
if (mBlueAdapter == null) {
mBlueAdapter = BluetoothAdapter.getDefaultAdapter();
}
mBtDevice = mBlueAdapter.getRemoteDevice(macAddress);
mBtSocket = mBtDevice.createRfcommSocketToServiceRecord(SPP_UUID);
mBtSocket.connect();
return true;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
//Metodo que descubre los dispositivos anteriormente emparejados(del case)
private void pairdevs() {
mBotDescubrir.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Set<BluetoothDevice> bta = mBlueAdapter.getBondedDevices();
String[] strings = new String[bta.size()];
int index = 0;
if (bta.size() > 0) {
for (BluetoothDevice device : bta) {
strings[index] = device.getName();
index++;
}
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, strings);
lv.setAdapter(arrayAdapter);
}
}
});
}
Заранее спасибо