Sari la conținut
ELFORUM - Forumul electronistilor

Android studio - bluetooth HC-06


Postări Recomandate

Salutare,

Se "joaca" cineva cu Android studio? Nu reusesc sa deschid o conexiune cu un modul Bluetooth HC-06.

 

Sunt incepator si nu stiu unde gresesc.

 

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
        BluetoothDevice BD=null;
        ClientClass clientClass = new ClientClass(BD);
       clientClass.start();
private  class ClientClass extends Thread {

    private BluetoothDevice device;
    private BluetoothSocket socket;

    public ClientClass(BluetoothDevice device1) {
        device = device1;

        try {
            device.createRfcommSocketToServiceRecord(MY_UUID);
        } catch (IOException e) {
            e.printStackTrace();
        }
        Toast.makeText(getApplicationContext(), "test", Toast.LENGTH_SHORT).show();
    }

         public void run ()
        {

            try {
          socket.connect();
         Message message=Message.obtain();
         message.what=STATE_CONNECTED;
         handler.sendMessage(message);
                sendReceive=new SendReceive(socket);
                sendReceive.start();

        } catch (IOException e) {
         e.printStackTrace();
           Message message=Message.obtain();
           message.what=STATE_CONNECTION_FAILED;
           handler.sendMessage(message);
        }
    }
}
Link spre comentariu
  • Răspunsuri 3
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

Top autori în acest subiect

Salut, e putin mai complicat din cate tin minte. Am eu un proiectel in Android Studio cu bluetooth ( eu am folosit modul HC - 05) l-am facut acuma vro 2 ani nu mai tin minte exact cum era treaba cu bluetooth-ul, eu am gasit un tutorial pe net si l-am adaptat pe acela. Daca crezi ca te ajuta sa treci prin el si sa vezi cum este facut o sa-l caut, e undeva pe OneDrive, dar din pacate nu mai tin minte exact cum mergea deci doar asa ca model si sa vezi daca intelegi ceva de acolo si il poti refolosii.

Link spre comentariu

Tot asa ca si Bandi, am conectat un HC06... dar n-ar trebui sa aiba importanta d.p.d.v. al codului Android.

Mai jos partea relevanta din serviciul bluetooth de la un proiectel de-al meu:

(http://cse-electronics.com/index.php/ro/dispozitiv-monitorizare-barca/)

/**
   * Get the BT adapter and start it if not already on.
   * @return - true if success.
   */
  protected boolean btInit() {
    int waitForStartTime = 10;                  //seconds to wait for BT start

    // get the BT adapter
    adapter = BluetoothAdapter.getDefaultAdapter();
    if(adapter == null) {
      // Device does not support Bluetooth
      Log.e(BT_TAG, "No Bluetooth support!");
      isBtConnected = false;
      return false;
    }
    Log.i(BT_TAG, "Bluetooth found");

    // switch BT adapter ON
    if(!adapter.isEnabled()) {
      adapter.enable();  //assuming BLUETOOTH_ADMIN rights are granted
      int i;
      for(i = 0; i < waitForStartTime; i++) {
        if(adapter.getState() == BluetoothAdapter.STATE_ON) break;
        Log.w(BT_TAG, "Waiting for bluetooth to start");
        try {
          Thread.sleep(1000, 0);
        } catch(InterruptedException e) {
          e.printStackTrace();
        }
      }
      if(i == waitForStartTime) {
        Log.e(BT_TAG, "Cannot start bluetooth!");
        isBtConnected = false;
        return false;
      }
    }
    Log.i(BT_TAG, "Bluetooth is started");
    return true;
  }


  /**
   * Connect to external BT device and create input/output streams
   * @return - true if success
   */
  protected boolean btConnect() {
    device = null;
    btOutputStream = null;
    btInputStream = null;

    btDevices = adapter.getBondedDevices();
    if(btDevices.size() == 0) {
      Log.e(BT_TAG, "Cannot find any paired BT device!");
      isBtConnected = false;
      return false;
    }
    Log.i(BT_TAG, "Total BT paired devices: " + btDevices.size());
    for(BluetoothDevice btDevice : btDevices) {
      if(btNames.contains(btDevice.getName())) {
        Log.i(BT_TAG, "Found valid paired BT device: " + btDevice.getName());
        device = btDevice;
        break;
      }
    }
    if(device == null) {
      Log.e(BT_TAG, "Cannot find valid paired BT device!");
      isBtConnected = false;
      return false;
    }
    try {
      btSocket = device.createRfcommSocketToServiceRecord(uuid);
      btSocket.connect();
      btOutputStream = btSocket.getOutputStream();
      btInputStream = btSocket.getInputStream();
    } catch(IOException e) {
      Log.e(BT_TAG, "Cannot create BT I/O streams!");
      return false;
    }
    Log.i(BT_TAG, "BT I/O streams are created");
    isBtConnected = true;
    return true;
  }

 

Editat de informer
Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări