I am trying to create a bluetooth server. this should work not unlike going to media> options>Receive Using Bluetooth. I am having a very hard time finding any code that would help me.
Basically this needs to run in the background. When the paired device sends a file, the software should accept the file and save it in a folder.
This is what I have so far but it gives a "Java.Lang.Error" on the red line.
Code:
import javax.bluetooth.BluetoothStateException;
import javax.bluetooth.DiscoveryAgent;
import javax.bluetooth.LocalDevice;
import javax.bluetooth.RemoteDevice;
import javax.bluetooth.ServiceRecord;
import javax.bluetooth.UUID;
import javax.microedition.io.Connector;
import javax.microedition.io.StreamConnection;
import javax.microedition.io.StreamConnectionNotifier;
import javax.obex.*;
public class Test extends ServerRequestHandler{
private static final UUID SERVICE_UUID = new UUID("00112233445566778899AABBCCDDEEFF", false);
//Server-side URL for the service
private static final String SERVER_URL = "btgoep://localhost:" + SERVICE_UUID + ";name=SSPEx";
public Test() throws BluetoothStateException, IOException{
startServer();
}
//Registers our SDDB record
public void startServer() throws BluetoothStateException, IOException
{
StreamConnectionNotifier btService = (StreamConnectionNotifier) Connector.open(SERVER_URL, Connector.READ_WRITE);
javax.bluetooth.ServiceRecord service = LocalDevice.getLocalDevice().getRecord(btService);
System.out.println("Server started. Connect at " + service.getConnectionURL(ServiceRecord.AUTHENTICATE_ENCRYPT, false));
if (!LocalDevice.getLocalDevice().setDiscoverable(DiscoveryAgent.LIAC))
System.out.println("Cannot switch device to discoverable mode. Will launch the service anyway but you need to manually switch the device to discoverable mode");
StreamConnection btConnection = btService.acceptAndOpen();
RemoteDevice remoteDevice = RemoteDevice.getRemoteDevice(btConnection);
System.out.println("Received a connection from " + remoteDevice.getFriendlyName(false));
}