Finalizar BlueCove (Bluetooth)

0 respostas
M

Boa tarde,
Estou com um problema para finalizar o bluecove. Ele só finaliza quando eu encerro toda a aplicação. (J2SE)

O que pretendo fazer é ativar o bluetooth ao abrir determinada janela e ao fechar essa janela desativar.

A comunicação funciona normal quando conecto com o android, o problema é que o blueclove não finaliza a conexão após o uso.

Ao fechar a janela, eu coloco a variável bluetooth como false;

Já tentei dar um close na StremConnection mas nao funciona.

Ao ativar o servidor a saída dele é:
BlueCove version 2.1.0 on bluez
E quando finalizo toda a aplicação tem a saída:
BlueCove stack shutdown completed

O que eu quero é dar esse shutdown durante a execução da aplicação.

Agradeço qualquer ajuda.

Segue o código da classe server:

class ServerBlueTooth implements Runnable {
    /**
     * Fluxo de Execução Principal
      * 
      * 
     */
     String arrec;
     public ServerBlueTooth(String arrec){
        this.arrec = arrec;
     }
    @Override
    public void run() {
        // Identificador Único de Conexão
        String uuid = "94fa7431-b6f5-11e1-afa6-0800200c9a66";
        // Endereço para Conexão
        String address = "btspp://localhost:" + uuid.replace("-", "");
         
        try {
           
            // Abertura de Conexão
            StreamConnectionNotifier notifier =
                (StreamConnectionNotifier) Connector.open(address);
            // Fluxo de Conexão
            StreamConnection stream = notifier.acceptAndOpen();
            // Captura de Fluxos
            InputStream input = stream.openInputStream();
            OutputStream output = stream.openOutputStream();
            // Laço de Repetição
            int size; byte content[]; // Auxiliares de Leitura
            String message = ""; // Mensagem Enviada pelo Cliente

            while (blueTooth) {
                // Tamanho dos Dados
                
                
                size = input.read(); // Quantidade de Bytes
                // Buffer de Leitura
                if(size != -1){
                    content = new byte[size];
                    // Preenchimento dos Dados
                    input.read(content); // Entrada de Informação
                    // Transformação da Mensagem Enviada
                    message = new String(content); // Novo Elemento
                    // Exibição na Saída Padrão
                    System.out.println(message);

                    if(message.equals("arrec")){
                        output.write(arrec.length());
                        output.write(arrec.getBytes());
                       
                    }
                }
              
            }
            
      
            
        } catch (IOException e) {
            // Erro Encontrado
            e.printStackTrace();
        }
    }
 }
Criado 22 de junho de 2012
Respostas 0
Participantes 1