2013-06-12 20 views
5

Próbuję znaleźć dostępne urządzenia Bluetooth.Wyszukiwanie urządzeń bluetooth w systemie Android

To mój OnClickListener która jest wywoływana, gdy użytkownik próbuje szukać dostępnych urządzeń.

View.OnClickListener OnSearchDevices = new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      //Toast.makeText(context, "Search Devices", Toast.LENGTH_LONG).show(); 
      Log.d("Discovery", "Started"); 
      listOfDevices.clear(); 
      label.setText("Searching Available Devices..."); 
      label.setEnabled(false); 
     } 
    }; 

Mam również zarejestrowała BroadcastReceiver.

private final BroadcastReceiver mReceiver = new BroadcastReceiver() { 
     @Override 
     public void onReceive(Context context, Intent intent) { 
      String action = intent.getAction(); 

      // When discovery finds a device 
      if (BluetoothDevice.ACTION_FOUND.equals(action)) { 
       // Get the BluetoothDevice object from the Intent 
       BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); 
       Log.d("DeviceList" , device.getName() + "\n" + device.getAddress()); 
       MyBluetoothDevice tempDevice = new MyBluetoothDevice(); 
       tempDevice.setDeviceAddress(device.getAddress()); 
       tempDevice.setDeviceName(device.getName()); 
       listOfDevices.add(tempDevice); 
       mListAdapter.notifyDataSetChanged(); 
       // discovery is finished 
      } 
      else if (BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action)) { 

       Log.d("Discovery","Finished"); 
       label.setEnabled(true); 
       if(listOfDevices.size() == 0) 
       { 
        label.setText("No Devices Available!"); 
        label.setTextColor(Color.parseColor("#FF0000")); 

       } 
       else 
       { 
        label.setText("Available Devices"); 
       } 

      } 
     } 
    }; 

Ale nic się nie dzieje. Nic nie pokazuje. Proszę pomóż.

Odpowiedz

5

Wygląda na to, że brakuje połączenia z numerem mBluetoothAdapter.startDiscovery().

To wyjaśniałoby, dlaczego nie otrzymujesz żadnych wyników, ponieważ adapter nie nawet rozpocząć wyszukiwanie urządzeń.

Twój kod wygląda dobrze dla mnie inaczej.

+0

Gdzie mogę to dodać? – user2477164

+0

Wewnątrz 'onClick()' – Swayam

+0

Awesome! Pracował jak magia! Jesteś człowiekiem! :RE – user2477164

Powiązane problemy