Olá a todos.
Li alguns exemplos sobre conexão bluetooth com j2me com o servidor sendo escrito em j2se. Acho que fiz tudo certo, o servidor consegue funcionar, mas na hora de conectar o celular ao computador ele apenas diz qua não foi possível conectar. Eu testei os dois no mesmo computador (emulando o programinha em j2me com o wireless toolkit)
Segue o código do servidor
import java.io.IOException;
import javax.bluetooth.LocalDevice;
import javax.bluetooth.ServiceRecord;
import javax.bluetooth.UUID;
import javax.microedition.io.Connector;
import javax.microedition.io.StreamConnectionNotifier;
public class ConexaoComputador {
private static StreamConnectionNotifier conexao;
private static StreamConnectionNotifier conexaoCliente;
public static void main(String[] args) throws IOException {
UUID identificadorUnico = new UUID(0x1101);
String endereco = "btspp://localhost:" + identificadorUnico.toString() +";name=sethbrabluetooth";
conexao = (StreamConnectionNotifier)Connector.open(endereco);
LocalDevice dispositivo = LocalDevice.getLocalDevice();
String enderecoMac = dispositivo.getBluetoothAddress();
String canal = dispositivo.getRecord(conexao).getConnectionURL(ServiceRecord.NOAUTHENTICATE_NOENCRYPT, false);
System.out.println("MAC: " + enderecoMac + " canal:" + canal);
while(true){
System.out.println("Aguardando Clientes:");
conexaoCliente = (StreamConnectionNotifier) conexao.acceptAndOpen();
System.out.println("Conectou");
}
}
}
E o do Cliente (em J2Me)
import java.io.IOException;
public class ClienteJ2Me extends MIDlet implements CommandListener {
private TextBox texto;
private Command sair;
private Display d;
public ClienteJ2Me() {
this.sair = new Command("Sair",Command.EXIT,0);
this.texto = new TextBox("","",40,TextField.ANY);
this.texto.setCommandListener(this);
this.texto.addCommand(this.sair);
this.d = Display.getDisplay(this);
}
protected void destroyApp(boolean arg0){
}
protected void pauseApp() {
// TODO Auto-generated method stub
}
protected void startApp() throws MIDletStateChangeException {
this.d.setCurrent(this.texto);
StreamConnection connection = null;
try {
connection = (StreamConnection)Connector.open("btspp://001F81000100:2",Connector.READ_WRITE,false);
System.out.println("Conectou");
connection.close();
} catch (IOException e) {
this.texto.setString("Erro ao tentar conectar : " + e.getMessage());
e.printStackTrace();
}
}
public void commandAction(Command arg0, Displayable arg1) {
if(arg0 == this.sair){
this.destroyApp(true);
this.notifyDestroyed();
}
}
}