4

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

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

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

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

4

2 回答 2

3

Perform a full discovery, then filter using 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
}
于 2013-03-19T16:42:36.183 回答
2

我的解释将基于 Android SDK 中的 BluetoothChat 示例,希望这没问题,否则我需要写更多。如果你还没有看过 BluetoothChat 的例子,那就去看看吧,它真的很棒!

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

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

于 2013-03-12T13:56:28.833 回答