Des problèmes de connexion en bluetooth avec Android

Je suis en train d'ouvrir un socket bluetooth entre une étape et un pc, mais l'appareil ne peut pas se connecter. J'espère que je vous envoie le code de l'aide.

public class Bluetooth_V2 extends Activity {
public TextView tela;
public ListView telaDevice;
public BluetoothAdapter bluetooth;
public String endBluetooth;
public String endDevice;
public String nomeDevice;
public ArrayAdapter<String> nomeBluetooth;
private static final String info = "DEBUG";
private static final int DISCOVERABLE_REQUEST = 0;
private static final int DISCOVERY_REQUEST = 0;
public BroadcastReceiver mReceiver = null;
public ArrayList<String> deviceDescoberto;
public BluetoothDevice deviceRemoto;
public BluetoothServerSocket btserver;
public BluetoothSocket serverSocket;
public UUID uuid = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
public OutputStream outStream;
public InputStream instream;
public BluetoothSocket socket;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tela = (TextView) findViewById(R.id.telaMsg);
telaDevice = (ListView) findViewById(R.id.telaDevice);
bluetooth = BluetoothAdapter.getDefaultAdapter();
nomeBluetooth = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1); 
telaDevice.setAdapter(nomeBluetooth);
Log.d(info, "Recebeu adaptador");
if(bluetooth==null)
{
Log.d(info,"Bluetooth nao suportado");
tela.append("Bluetooth nao suportado");
}
if(!bluetooth.isEnabled())
{
Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBtIntent,RESULT_OK);
}
tela.append("\nNome:"+bluetooth.getName());
tela.append("\nEndereço:"+bluetooth.getAddress());
bluetooth.startDiscovery();
Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
startActivity(discoverableIntent);
//discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 300);
bluetooth.isDiscovering();
Log.d(info,"Estado de descoberta");
IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
this.registerReceiver(mReceiver, filter);
tela.append("\nModo de busca" + bluetooth.getScanMode());
filter = new IntentFilter(BluetoothAdapter.ACTION_DISCOVERY_FINISHED);
this.registerReceiver(mReceiver, filter);
//startActivityForResult(new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE),DISCOVERABLE_REQUEST);
tela.append("\nDispositivos encontrados:"); 
BroadcastReceiver discoveryResult = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
nomeDevice = intent.getStringExtra(BluetoothDevice.EXTRA_NAME);
deviceRemoto = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
tela.append("\n"+nomeDevice+"\n"+deviceRemoto);
//TODO Do something with the remote Bluetooth Device.
}
};
registerReceiver(discoveryResult,
new IntentFilter(BluetoothDevice.ACTION_FOUND));
if (!bluetooth.isDiscovering())
bluetooth.startDiscovery();
/* //Mostra dispositivos pareados
tela.append("\nDispositivos pareados mas não conectados");
Set<BluetoothDevice> devices = bluetooth.getBondedDevices();
for(BluetoothDevice device : devices){
tela.append("\n"+device.getName());
}*/
startActivityForResult(new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE),DISCOVERY_REQUEST);
final BluetoothDevice device = bluetooth.getRemoteDevice("90:4C:E5:FA:01:22");
final Set<BluetoothDevice> bondedDevices = bluetooth.getBondedDevices();
BroadcastReceiver Result = new BroadcastReceiver(){
@Override
public void onReceive(Context context, Intent intent) {
deviceRemoto = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
if(deviceRemoto.equals(device)&&bondedDevices.contains(deviceRemoto)){
tela.append("Dispositivos"+deviceRemoto.getName()+" ja está pareado");
}
}
};
registerReceiver(Result, new IntentFilter(BluetoothDevice.ACTION_FOUND));
try{
deviceRemoto = bluetooth.getRemoteDevice("90:4C:E5:FA:01:22");
BluetoothSocket clientSocket =
device.createRfcommSocketToServiceRecord(uuid);
clientSocket.connect();
Log.d(info,"Cliente Conectado");
//sendMessage("OI");
//TODO Transfer data using the Bluetooth Socket
} catch (IOException e) {
Log.d("BLUETOOTH CLIENTE", e.getMessage());
}
}
}
Bonne question!!!

OriginalL'auteur user476378 | 2010-12-14