public class ServerBluetooth {
public BluetoothSocket transferSocket;
public UUID startServerSocket(BluetoothAdapter bluetooth){
UUID uuid = UUID.fromString("");
String name ="bluetoothserver";
try {
final BluetoothServerSocket btServer=bluetooth.listenUsingRfcommWithServiceRecord(name, uuid);
Thread acceptThread = new Thread(new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
try {
BluetoothSocket serverSocket = btServer.accept();
listenForMessages(serverSocket);
transferSocket = serverSocket;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
acceptThread.start();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return uuid;
}
private boolean listening = false;
public void listenForMessages(BluetoothSocket socket){
StringBuilder incoming = new StringBuilder("");
listening = true;
int buffersize = 1024;
byte[] buffer = new byte[buffersize];
try {
InputStream instream = socket.getInputStream();
int byteRead = -1;
while(listening) {
byteRead = instream.read(buffer);
if(byteRead!=-1) {
String result = "";
while(byteRead==buffersize&&(buffer[buffersize-1]!=0)){
result = result+new String(buffer,0,byteRead-1);
incoming.append(result);
}
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
socket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}