Android Open Source - bluetooth Server Thread






From Project

Back to project page bluetooth.

License

The source code is released under:

MIT License

If you think the Android project bluetooth listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.mauriciotogneri.bluetooth.connection.server;
/*  w  ww .jav a  2  s  .c om*/
import java.util.UUID;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothServerSocket;
import android.bluetooth.BluetoothSocket;

class ServerThread extends Thread
{
  private final ServerConnection serverConnection;
  private final BluetoothServerSocket serverSocket;
  
  public ServerThread(ServerConnection serverConnection, String uuid)
  {
    this.serverConnection = serverConnection;
    
    this.serverSocket = createSocket(uuid);
  }
  
  private BluetoothServerSocket createSocket(String uuid)
  {
    BluetoothServerSocket result = null;
    
    try
    {
      BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
      
      if (!bluetoothAdapter.isEnabled())
      {
        bluetoothAdapter.enable();
      }
      
      result = bluetoothAdapter.listenUsingRfcommWithServiceRecord(uuid, UUID.fromString(uuid));
    }
    catch (Exception e)
    {
      this.serverConnection.errorOpeningConnection(this);
    }
    
    return result;
  }
  
  @Override
  public void run()
  {
    try
    {
      @SuppressWarnings("resource")
      BluetoothSocket socket = this.serverSocket.accept();
      
      this.serverConnection.clientConnected(socket, this);
    }
    catch (Exception e)
    {
      this.serverConnection.errorOpeningConnection(this);
    }
    finally
    {
      close();
    }
  }
  
  public void close()
  {
    try
    {
      this.serverSocket.close();
    }
    catch (Exception e)
    {
    }
  }
}




Java Source Code List

com.mauriciotogneri.bluetooth.beacons.BeaconFilter.java
com.mauriciotogneri.bluetooth.beacons.BeaconListener.java
com.mauriciotogneri.bluetooth.beacons.BeaconManager.java
com.mauriciotogneri.bluetooth.beacons.BeaconService.java
com.mauriciotogneri.bluetooth.beacons.Beacon.java
com.mauriciotogneri.bluetooth.beacons.UnsupportedBluetoothLeException.java
com.mauriciotogneri.bluetooth.connection.client.ClientConnection.java
com.mauriciotogneri.bluetooth.connection.client.ClientEvent.java
com.mauriciotogneri.bluetooth.connection.client.ClientLink.java
com.mauriciotogneri.bluetooth.connection.client.ClientThread.java
com.mauriciotogneri.bluetooth.connection.kernel.ConnectionThread.java
com.mauriciotogneri.bluetooth.connection.scan.DeviceScanner.java
com.mauriciotogneri.bluetooth.connection.scan.ScannerManager.java
com.mauriciotogneri.bluetooth.connection.server.ServerConnection.java
com.mauriciotogneri.bluetooth.connection.server.ServerEvent.java
com.mauriciotogneri.bluetooth.connection.server.ServerLink.java
com.mauriciotogneri.bluetooth.connection.server.ServerThread.java