ajuda com conexao bluetooth
ola pessoal estou com um pouco de problema para fazer a conexao bluetooth usando blucove e um cliente j2me
fiz a seguinte classe
package Core;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.util.Vector;
import javax.bluetooth.*;
import javax.microedition.io.Connector;
import javax.microedition.io.StreamConnection;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.List; /**
*
* @author Hudson
*/
public class mega extends List implements CommandListener,Runnable
{
private final Command cmd_search;
private final Command cmd_select;
private final Command cmd_exit; public static Vector dispositivos = new Vector();
public static Vector classesDispositivos = new Vector();
public static Vector servicos = new Vector();
public static int dispositivoSelecionado = -1;
public UUID[] servicoUUIDs = null;
public int deviceReturnCode;
public int serviceReturnCode;
public LocalDevice dispositivo;
private DiscoveryAgent agenteDescoberta;
public UUID uuid = new UUID("102030405060708090A1B1C1D1E1F111", false); public mega()
{
super("Bt",List.IMPLICIT);
cmd_search = new Command("Procurar",Command.SCREEN, 0);
this.addCommand(cmd_search); cmd_select= new Command("Selecionar",Command.SCREEN, 1);
this.addCommand(cmd_select); cmd_exit = new Command("Voltar",Command.BACK, 1);
this.addCommand(cmd_exit);
this.setCommandListener(this);
}
public void iniciaInquiry(UUID servicoUUIDs [] )
{
try
{
this.servicoUUIDs = servicoUUIDs;
dispositivos.removeAllElements();
classesDispositivos.removeAllElements();
dispositivo = LocalDevice.getLocalDevice();
dispositivo.setDiscoverable(DiscoveryAgent.GIAC);
agenteDescoberta = dispositivo.getDiscoveryAgent();
boolean resultado = agenteDescoberta.startInquiry(DiscoveryAgent.GIAC, new BluetoothListener());
this.deleteAll();
this.append("[Aguarde...]",null); }
catch ( BluetoothStateException e )
{
e.printStackTrace();
}
}
public void commandAction(Command c, Displayable d)
{
if(c == cmd_exit)
{
new Run().destroyApp(true);
}
else if(c == cmd_search)
{
iniciaInquiry(new UUID[]);
}
else if(c == cmd_select)
{
run();
}
}
public void executa()
{
dispositivoSelecionado = this.getSelectedIndex();
RemoteDevice dispositivoRemoto = (RemoteDevice) dispositivos.elementAt( dispositivoSelecionado );
servicos.removeAllElements(); try
{
agenteDescoberta.searchServices(null,
servicoUUIDs,
dispositivoRemoto,
new BluetoothListener() ); }
catch (BluetoothStateException ex)
{
ex.printStackTrace();
}
}
public void mostraDispositivos()
{
super.deleteAll();
if (dispositivos.size() > 0)
{
for (int i = 0; i < dispositivos.size(); i++) {
try {
RemoteDevice dispositivoRemoto = (RemoteDevice) dispositivos.elementAt(i);
String name = dispositivoRemoto.getFriendlyName(false);
append(name, null); }
catch (Exception e)
{
e.printStackTrace();
}
}
}
else
{
limpaTudo();
append("[Não Encontrado]", null);
}
}
public void limpaTudo()
{
this.deleteAll();
}
public void inseriTexto(String s)
{
this.append(s, null);
}
public void envia_mensagem(ServiceRecord r, String msg, String addr)
{ // escreveSaida( "--------------------------------------------------------------------------------------");
// escreveSaida( "Enviando Mensagem para Servidor");
// Obt�m a URL para o servi�o serial do Servidor
String url = r.getConnectionURL(ServiceRecord.NOAUTHENTICATE_NOENCRYPT, false );
// escreveSaida("URL do Servidor:"+url);
try
{
StreamConnection con = (StreamConnection) Connector.open( url );
// escreveSaida("-> Conectado ao Servidor ");
// escreveSaida("-> Enviando '"+msg+"'");
// escreveSaida("-> Enviando '"+addr+"'"); DataOutputStream saida = con.openDataOutputStream();
saida.writeUTF( msg );
saida.writeUTF( addr );
saida.flush();
// escreveSaida("Finalizou Envio Dados SYN OK"); Thread.sleep(1000); saida.close();
DataInputStream in = con.openDataInputStream();
String s = in.readUTF();
String s1 = in.readUTF();
// escreveSaida("Retorno Servidor -> '"+s+"'");
// escreveSaida("Retorno Servidor -> '"+s1+"'");
//
// escreveSaida("Finalizou Recebimento Dados ACK OK");
con.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
public ServiceRecord getPrimeiroServicoDescoberto()
{
if ( servicos.size() > 0 )
return (ServiceRecord) servicos.elementAt(0);
else
return null;
}
public void run()
{
envia_mensagem(getPrimeiroServicoDescoberto(), "teste", dispositivo.getBluetoothAddress().toString() );
}
class BluetoothListener implements DiscoveryListener
{
public void deviceDiscovered(RemoteDevice dispositivoRemoto,
DeviceClass classeDispositivo) {
dispositivos.addElement( dispositivoRemoto );
classesDispositivos.addElement( classeDispositivo );
}
public void inquiryCompleted(int complete) { deviceReturnCode = complete; if ( dispositivos.size() == 0 )
{
limpaTudo();
inseriTexto("[Não foi possível encontrar dispositivos]");
}
else
{
mostraDispositivos();
}
}
public void servicesDiscovered(int transId, ServiceRecord[] records)
{
for ( int i=0; i< records.length; i ++ ) {
ServiceRecord record = records[i];
servicos.addElement( record );
}
}
public void serviceSearchCompleted(int transId, int complete)
{
serviceReturnCode = complete;
}
}
}
nao conecta nen por rai alguem pode me ajudar?
import java.io.DataOutputStream;
import java.util.Vector;
import javax.bluetooth.*;
import javax.microedition.io.Connector;
import javax.microedition.io.StreamConnection;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.List; /**
*
* @author Hudson
*/
public class mega extends List implements CommandListener,Runnable
{
private final Command cmd_search;
private final Command cmd_select;
private final Command cmd_exit; public static Vector dispositivos = new Vector();
public static Vector classesDispositivos = new Vector();
public static Vector servicos = new Vector();
public static int dispositivoSelecionado = -1;
public UUID[] servicoUUIDs = null;
public int deviceReturnCode;
public int serviceReturnCode;
public LocalDevice dispositivo;
private DiscoveryAgent agenteDescoberta;
public UUID uuid = new UUID("102030405060708090A1B1C1D1E1F111", false); public mega()
{
super("Bt",List.IMPLICIT);
cmd_search = new Command("Procurar",Command.SCREEN, 0);
this.addCommand(cmd_search); cmd_select= new Command("Selecionar",Command.SCREEN, 1);
this.addCommand(cmd_select); cmd_exit = new Command("Voltar",Command.BACK, 1);
this.addCommand(cmd_exit);
this.setCommandListener(this);
}
public void iniciaInquiry(UUID servicoUUIDs [] )
{
try
{
this.servicoUUIDs = servicoUUIDs;
dispositivos.removeAllElements();
classesDispositivos.removeAllElements();
dispositivo = LocalDevice.getLocalDevice();
dispositivo.setDiscoverable(DiscoveryAgent.GIAC);
agenteDescoberta = dispositivo.getDiscoveryAgent();
boolean resultado = agenteDescoberta.startInquiry(DiscoveryAgent.GIAC, new BluetoothListener());
this.deleteAll();
this.append("[Aguarde...]",null); }
catch ( BluetoothStateException e )
{
e.printStackTrace();
}
}
public void commandAction(Command c, Displayable d)
{
if(c == cmd_exit)
{
new Run().destroyApp(true);
}
else if(c == cmd_search)
{
iniciaInquiry(new UUID[]);
}
else if(c == cmd_select)
{
run();
}
}
public void executa()
{
dispositivoSelecionado = this.getSelectedIndex();
RemoteDevice dispositivoRemoto = (RemoteDevice) dispositivos.elementAt( dispositivoSelecionado );
servicos.removeAllElements(); try
{
agenteDescoberta.searchServices(null,
servicoUUIDs,
dispositivoRemoto,
new BluetoothListener() ); }
catch (BluetoothStateException ex)
{
ex.printStackTrace();
}
}
public void mostraDispositivos()
{
super.deleteAll();
if (dispositivos.size() > 0)
{
for (int i = 0; i < dispositivos.size(); i++) {
try {
RemoteDevice dispositivoRemoto = (RemoteDevice) dispositivos.elementAt(i);
String name = dispositivoRemoto.getFriendlyName(false);
append(name, null); }
catch (Exception e)
{
e.printStackTrace();
}
}
}
else
{
limpaTudo();
append("[Não Encontrado]", null);
}
}
public void limpaTudo()
{
this.deleteAll();
}
public void inseriTexto(String s)
{
this.append(s, null);
}
public void envia_mensagem(ServiceRecord r, String msg, String addr)
{ // escreveSaida( "--------------------------------------------------------------------------------------");
// escreveSaida( "Enviando Mensagem para Servidor");
// Obt�m a URL para o servi�o serial do Servidor
String url = r.getConnectionURL(ServiceRecord.NOAUTHENTICATE_NOENCRYPT, false );
// escreveSaida("URL do Servidor:"+url);
try
{
StreamConnection con = (StreamConnection) Connector.open( url );
// escreveSaida("-> Conectado ao Servidor ");
// escreveSaida("-> Enviando '"+msg+"'");
// escreveSaida("-> Enviando '"+addr+"'"); DataOutputStream saida = con.openDataOutputStream();
saida.writeUTF( msg );
saida.writeUTF( addr );
saida.flush();
// escreveSaida("Finalizou Envio Dados SYN OK"); Thread.sleep(1000); saida.close();
DataInputStream in = con.openDataInputStream();
String s = in.readUTF();
String s1 = in.readUTF();
// escreveSaida("Retorno Servidor -> '"+s+"'");
// escreveSaida("Retorno Servidor -> '"+s1+"'");
//
// escreveSaida("Finalizou Recebimento Dados ACK OK");
con.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
public ServiceRecord getPrimeiroServicoDescoberto()
{
if ( servicos.size() > 0 )
return (ServiceRecord) servicos.elementAt(0);
else
return null;
}
public void run()
{
envia_mensagem(getPrimeiroServicoDescoberto(), "teste", dispositivo.getBluetoothAddress().toString() );
}
class BluetoothListener implements DiscoveryListener
{
public void deviceDiscovered(RemoteDevice dispositivoRemoto,
DeviceClass classeDispositivo) {
dispositivos.addElement( dispositivoRemoto );
classesDispositivos.addElement( classeDispositivo );
}
public void inquiryCompleted(int complete) { deviceReturnCode = complete; if ( dispositivos.size() == 0 )
{
limpaTudo();
inseriTexto("[Não foi possível encontrar dispositivos]");
}
else
{
mostraDispositivos();
}
}
public void servicesDiscovered(int transId, ServiceRecord[] records)
{
for ( int i=0; i< records.length; i ++ ) {
ServiceRecord record = records[i];
servicos.addElement( record );
}
}
public void serviceSearchCompleted(int transId, int complete)
{
serviceReturnCode = complete;
}
}
}
nao conecta nen por rai alguem pode me ajudar?
Hudson Schumaker
Curtidas 0
Respostas
Dyego Carmo
23/09/2010
Qual eh o erro completo ?
GOSTEI 0
Hudson Schumaker
23/09/2010
nao da erro mas tb nao conecta.
GOSTEI 0