Поэтому мне нужно устройство A (клиент) для подключения к устройству B (сервер), и я получил его на работу, но не во всех случаях. После открытия приложения я хочу разрешить обнаружение устройства
private void enableDiscoverability() {
Intent discoverableIntent = new
Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION,
3600);
startActivity(discoverableIntent);
}
, и я настроил приемник для поиска одного конкретного устройства (только сейчас я все еще учусь использовать Bluetooth)
private final BroadcastReceiver receiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
TextView output = findViewById(R.id.output);
String action = intent.getAction();
if (BluetoothDevice.ACTION_FOUND.equals(action)) {
// Discovery has found a device. Get the BluetoothDevice
// object and its info from the Intent.
BluetoothDevice temp = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
String deviceName = temp.getName();
Log.i("Device ", deviceName + " was found");
String deviceHardwareAddress = temp.getAddress();
if (deviceHardwareAddress.equalsIgnoreCase("DC:F7:56:DD:73:8F")) {
device = temp;
startClient();
}
}
}
};
Так вот моя проблема. Когда устройство A остается включенным, оно некоторое время обнаруживает новые устройства, но не обнаруживает новое устройство B через несколько минут. Оба устройства должны иметь приемник и быть обнаруживаемыми.
Есть ли тайм-аут при обнаружении устройств? Произойдет ли что-нибудь с приемником, если он попытается подключиться, но не получится? Я пытался найти его, но я все еще новичок с Bluetooth, поэтому я не знаю, с чего начать. Я был бы более чем рад опубликовать больше кода, если это будет необходимо