仅发现特定于供应商的蓝牙设备

时间:2013-03-04 04:11:11

标签: android bluetooth

需要发现或搜索某些“供应商特定”设备的Bluetooth设备。

“特定供应商”意味着所有设备的“MAC”地址都具有相似的起始位

例如,我想仅搜索MAC地址以12:34:56:

开头的设备

它应该仅搜索特定系列的MAC地址并列出它们。

2 个答案:

答案 0 :(得分:3)

执行完整发现,然后使用BluetoothDevice.getAddress()

进行过滤
// Define Vendor ID Prefix
public static final String VENDOR_ID = "12:34:56:"

// First, do a full discovery...
BluetoothAdapter.getDefaultAdapter().startDiscovery()

//...

// Then, for each device returned from discovery...

if ( device.getAddress().startsWith(VENDOR_ID) ) {
  // Do Something
}

答案 1 :(得分:2)

我的解释将基于Android SDK中的BluetoothChat示例,希望这没关系,否则我需要写更多内容。如果您还没有看过BluetoothChat示例,那就去看看,这真的很棒!

如果您想使用不知道完整地址的设备,则必须使用BluetoothAdapter.startDiscovery()进行完整发现,并在收到的地址中搜索您想要的地址。

如果您知道要连接的设备的完整地址,可以使用BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(address)

直接连接到此设备