2011-06-24 11 views

Respuesta

7

Find The Devices in the Range by using Bluetooth programmatically.

sí se puede hacer esto utilizando BroadcastReceiver, comprobar a continuación el código, que le ayudará.

inicio de la búsqueda

mBluetoothAdapter.startDiscovery(); 
mReceiver = new BroadcastReceiver() { 
public void onReceive(Context context, Intent intent) { 
    String action = intent.getAction(); 

encuentra un dispositivo

if (BluetoothDevice.ACTION_FOUND.equals(action)) 
    { 
     // Get the BluetoothDevice object from the Intent 
     BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); 
     // Add the name and address to an array adapter to show in a ListView 
     mArrayAdapter.add(device.getName() + "\n" + device.getAddress()); 
    } 
    } 
}; 

IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND); 
registerReceiver(mReceiver, filter); 
+3

+1 por la respuesta aceptada. – MKJParekh

1

crea amplias receptor fundido algo así como lo siguiente y añadir la información del dispositivo

private final BroadcastReceiver mReceiver = new BroadcastReceiver() { 

     @Override 
     public void onReceive(Context context, Intent intent) { 
      String action = intent.getAction(); 
ArrayList<HashMap<String, String> arl = new ArrayList<HashMap<String, String>();  
      // 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); 
       // If it's already paired, skip it, because it's been listed already 
       HashMap<String, String> deviceMap = new HashMap<String, String>(); 
       deviceMap.put(device.getName(), device.getAddress()); 
       arl.add(deviceMap); 

      // When discovery is finished, change the Activity title 
      } else if (BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action)) { 
       setProgressBarIndeterminateVisibility(false); 
       setTitle(R.string.select_device); 
       if (mNewDevicesArrayAdapter.getCount() == 0) { 
        String noDevices = getResources().getText(R.string.none_found).toString(); 
        mNewDevicesArrayAdapter.add(noDevices); 
       } 
      } 
     } 


    }; 
+0

Gracias Sunil para u'r response.this código no funciona por favor enviar código completo. – kiran

Cuestiones relacionadas