package org.schmivits.testbluetoothclientserver; import java.io.IOException; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothServerSocket; import android.bluetooth.BluetoothSocket; import android.widget.TextView; public class AirballServer extends RpcThread { private final BluetoothAdapter mAdapter; private BluetoothServerSocket mServerSocket = null; public AirballServer(BluetoothAdapter adapter, TextView view) { super(view); report("Constructed AirballServer"); mAdapter = adapter; } @Override public void run() { report("AirballServer run() ..."); try { report("Creating server socket"); mServerSocket = mAdapter.listenUsingRfcommWithServiceRecord("Airball Data", AIRBALL_UUID); report("Accepting ..."); while (true) { BluetoothSocket socket = mServerSocket.accept(); report("Accepted a connection; creating a data sender"); RpcThread sender = new AirballDataSender(socket, mView); mChildren.add(sender); sender.start(); } } catch (IOException e) { report("AirballServer run() exiting: " + e); } } @Override public void destroy() { report("AirballServer destroy() ..."); if (mServerSocket != null) { try { mServerSocket.close(); } catch (IOException e) { } } super.destroy(); } }