Я создаю небезопасное соединение RFCOMM от моего HTC One X к СЕН Bluetooth ESD110 Последовательного модуля с этим кодом:андроид Bluetooth RFCOMM подключение слишком медленно
BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(addr);
BluetoothSocket socket = null;
try{
socket = device.createInsecureRfcommSocketToServiceRecord(UUID.fromString(SERVICE_UUID));
mBluetoothAdapter.cancelDiscovery();
socket.connect();
sendMessage(socket,"working!");
socket.close();
Дела в том, чтобы подключить к модулю с автоматической кожурой , и все это работает, но для установления соединения требуется около 15 секунд.
отладки остается на:
socket.connect();
в течение 15 секунд, и только после этого соединения и перенося строку к модулю (занимает 1 сек для этого).
Возможно ли, что телефон обрабатывает некоторые другие данные (обнаружение служб и многое другое) перед подключением к MAC-адресу и как я могу подключить его к FASTER? Или это может быть проблема с аппаратным обеспечением HTC?
hi ligi, я сделал соединение дважды с тем же «устройством» с mac-адресом моего телефона - без сканирования, для первого подключения потребовалось 15 секунд, а 15 секунд - для второго. Я думаю, что телефон «сканирует» модуль bluetooth для доступных услуг, и он занимает слишком много времени, но я все уже дал телефону услугу uuid, в которой я нуждаюсь ... – itai
привет, спасибо за помощь, я отредактировал код, но у меня есть некоторая ошибка, используя reflaction: 'BluetoothDevice device = mBluetoothAdapter.getRemoteDevice (" 00: 01: 95: 13: 5C: 4F "); Метод m = device.getClass(). GetMethod ("createInsecureRfcommSocket", новый класс [] {int.class}); BluetoothSocket сокет = (BluetoothSocket) m.invoke (устройство, Integer.valueOf (1)); 'но я получаю: \t IllegalAccessException \t - исключение Необработанного типа \t InvocationTargetException – itai
createInsecureRfcommSocket/createRfcommSocket/createInsecureRfcommSocketToServiceRecord/createeRfcommSocketToServiceRecord - все reflaction к этому функция возвращает, что ошибки ..... – itai