2011-06-24 60 views

Trả lời

7

Find The Devices in the Range by using Bluetooth programmatically.

Có bạn có thể làm điều này bằng BroadcastReceiver, hãy kiểm tra bên dưới mã, nó sẽ giúp bạn.

Bắt đầu tìm kiếm

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

Finds một thiết bị

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 cho câu trả lời được chấp nhận. – MKJParekh

1

Tạo Broad cast nhận giống như sau và thêm các thông tin thiết bị

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

Cảm ơn Sunil cho u'r response.this mã không làm việc xin vui lòng gửi mã đầy đủ. – kiran

Các vấn đề liên quan