android 获取蓝牙列表
时间: 2023-11-13 12:03:31 浏览: 84
以下是Android获取蓝牙列表的示例代码:
1. 在AndroidManifest.xml文件中添加以下权限:
```
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
```
2. 创建一个BluetoothAdapter对象并启用蓝牙:
```
BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if (bluetoothAdapter == null) {
// 设备不支持蓝牙
return;
}
if (!bluetoothAdapter.isEnabled()) {
// 启用蓝牙
Intent enableBluetoothIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBluetoothIntent, REQUEST_ENABLE_BLUETOOTH);
}
```
3. 获取已配对的蓝牙设备列表:
```
Set<BluetoothDevice> pairedDevices = bluetoothAdapter.getBondedDevices();
if (pairedDevices.size() > 0) {
// 遍历已配对设备列表
for (BluetoothDevice device : pairedDevices) {
// 获取设备名称和地址
String deviceName = device.getName();
String deviceAddress = device.getAddress();
}
}
```
4. 搜索新的蓝牙设备并获取搜索结果:
```
// 注册广播接收器监听搜索结果
BroadcastReceiver receiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (BluetoothDevice.ACTION_FOUND.equals(action)) {
// 获取设备对象
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
// 获取设备名称和地址
String deviceName = device.getName();
String deviceAddress = device.getAddress();
}
}
};
// 开始搜索
bluetoothAdapter.startDiscovery();
// 注册广播接收器
IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
registerReceiver(receiver, filter);
```
注意:搜索蓝牙设备需要时间,建议在搜索过程中显示进度条或提示信息。搜索完成后需要注销广播接收器。
阅读全文