2016-04-13 20 views
0

Etkinliğimde "bağlan" düğmesine bastığımda bağlantı iş parçacığı başlatmaya çalışıyorum. Google'a bunun için doğru cevabı denedim ancak işe yaraması için hangi yöntemin uygulanacağı konusunda kafam çok karıştı. Bir İşleyici veya bu tür bir sorunla ne yapılacağından emin değilim. Birisi bana bunun nasıl uygulanacağı konusunda bir kod şablonu verse çok müteşekkir olurum!Düğmeye basıldığında Bluetooth bağlantısı nasıl yapılır

+0

Herhangi bir bluetooth modülü veya diğer android mobil cihazlar ile bağlanmaya çalışıyor musunuz? –

+0

Raspberry Pi ile bağlanmaya çalışıyorum. – jakeheik90

+0

Android cep telefonuna bağlanmak için HC-05 bluetooth modülünü kullandım ve uygulamamdan veri alıp gönderebiliyorum –

cevap

0

0) (

bt_handler=new Handler(){ 
     @Override 
     public void handleMessage(Message msg) { 
      if (msg.what==handlerState){ 
       String readMessage=(String)msg.obj; 
       Log.v(TAG, readMessage); 
      } 
     } 

onCreate içinde bt_handler tanımlamak

private class ConnectedThread extends Thread { 
    InputStream inputStream=null; 
    int avilableBytes=0; 

    public ConnectedThread(BluetoothSocket socket){ 
     InputStream temp=null; 
     try{ 
      temp=socket.getInputStream(); 
     }catch (IOException e){ 
      e.printStackTrace(); 
     } 
     inputStream=temp; 
    } 

    public void run() { 
     try{ 
      int bytes; 
      while (true){ 
       try{ 
        avilableBytes=inputStream.available(); 
        byte[] buffer=new byte[avilableBytes]; 
        if (avilableBytes>0){ 
         bytes=inputStream.read(buffer); 
         final String readMessage=new String(buffer); 
         if (bytes>=3){ 
          bt_handler.obtainMessage(handlerState, bytes, -1, readMessage).sendToTarget(); 
         } 
         else { 
          SystemClock.sleep(100); 
         } 
        } 
       }catch (IOException e){ 
        e.printStackTrace(); 
       } 
      } 
     }catch (Exception e){ 
      e.printStackTrace(); 
     } 
    } 
} 

bt_handler Konu

BluetoothSocket socket; 
Handler bt_handler; 
int handlerState; 
OutputStream outputStream; 
InputStream inputStream; 
ConnectedThread connectedThread; 
BluetoothAdapter adapter=BluetoothAdapter.getDefaultAdapter(); 
BluetoothDevice device=adapter.getRemoteDevice(mac_address); 
UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB"); 
try { 
    socket=device.createInsecureRfcommSocketToServiceRecord(MY_UUID); 
    socket.connect(); 
    outputStream=socket.getOutputStream(); 
    inputStream=socket.getInputStream(); 
    connectedThread = new ConnectedThread(socket); 
    connectedThread.start(); 
}catch(Exception e){ 
    /** Handle the exception here **/ 
} 

bağlanmak içinConnectedThread iç sınıftır.

İlgili konular