Я загрузил образец проекта BluetoothChat здесь: https://android.googlesource.com/platform/development/+/master/samples/BluetoothChat?autodive=0%2F
Дело в том, что когда я запускаю приложение на двух устройствах (которые НЕ сопряжены), оно должно соединять два устройства БЕЗ запроса на сопряжение двух устройств, не так ли? И на самом деле, когда я пытаюсь подключить два устройства (которые НЕ сопряжены), он запрашивает сопряжение устройств. Я имею в виду, что в BluetoothChatService.java есть функция, которая должна создавать незащищенный сокет. Но кажется, что это не делает его работу?
/**
* This thread runs while attempting to make an outgoing connection
* with a device. It runs straight through; the connection either
* succeeds or fails.
*/
private class ConnectThread extends Thread {
private final BluetoothSocket mmSocket;
private final BluetoothDevice mmDevice;
private String mSocketType;
public ConnectThread(BluetoothDevice device, boolean secure) {
mmDevice = device;
BluetoothSocket tmp = null;
mSocketType = secure ? "Secure" : "Insecure";
// Get a BluetoothSocket for a connection with the
// given BluetoothDevice
try {
if (secure) {
tmp = device.createRfcommSocketToServiceRecord(
MY_UUID_SECURE);
} else {
tmp = device.createInsecureRfcommSocketToServiceRecord(
MY_UUID_INSECURE);
}
} catch (IOException e) {
Log.e(TAG, "Socket Type: " + mSocketType + "create() failed", e);
}
mmSocket = tmp;
}
Может кто-нибудь объяснить мне, почему он запрашивает сопряжение двух устройств? Метод createInsecureRfcommSocketToServiceRecord не должен запрашивать сопряжение неспаренных устройств, не так ли? х) Я действительно запутался.