제목에 설명 된대로 Bluetooth를 통해 일부 데이터를 PC로 전송하는 데 어려움을 겪고 있습니다. 나는 내 안드로이드 폰과 클라이언트와 PC를 서버로 연결하려고합니다. 실제로 BluetoothSocket.connect()를 통해 연결을 설정하려고 할 때 내 전화는 핀을 묻습니다. 입력 한 후에도 내 PC에서 동일한 핀을 묻는 메시지를 표시하지만 입력하기 전에 connect() - 메서드는 IOException을 throw합니다. 내 PC에 올바른 핀을 입력하기 전에 connect() - 메서드 시간이 초과되었다고 생각하지만 PIN을 입력 할 수있을만큼 기다릴 수있는 방법은 무엇입니까?Android 페어링이 작동하지 않음 - "피어로 연결 재설정"
EDIT : 페어링 대화 상자가 더 이상 내 앱에 나타나지 않아서 PC를 내 전화와 다시 페어링 한 후에 작동했습니다. PC를 페어 페어링하고 앱을 시작하면 몇 초 후에 페어링 대화 상자가 나타나지만 사라지고 소켓에서 예외가 발생합니다 ('피어에 의한 연결 재설정'). 페어링이 완료되기 전에 연결이 재설정되었지만 그 이유는 무엇입니까? 누군가가 나에게 문제에 대한 조언을 좋은 단어를 줄 수 있다면 나는 기쁠
private void connectToDevice(BluetoothDevice device)
{
mBluetoothAdapter.cancelDiscovery();
BluetoothSocket socket = null;
try
{
socket = device.createRfcommSocketToServiceRecord(UUID.fromString("00001101- 0000- 1000-8000-00805F9B34FB"));
}
catch (IOException e)
{
Log.e("HeliRemote", "Couldn't get socket.");
return;
}
try
{
socket.connect();
}
catch (IOException e)
{
try
{
socket.close();
}
catch (IOException e1)
{
Log.e("HeliRemote", "Couldn't close connection");
}
// That's the message I get in LogCat
Log.e("HeliRemote", "Couldn't connect to Socket.");
return;
}
Log.i("HeliRemote", "connected.");
}
:
여기 내 코드입니다.