Android 获取蓝牙设备列表

本文介绍如何在Android应用中获取蓝牙设备列表,涉及蓝牙适配器BluetoothAdapter的使用,包括权限设置、检查蓝牙功能、启动扫描以及接收广播处理。通过这套流程,可以实现蓝牙设备的发现和列表展示。
摘要由CSDN通过智能技术生成

最近换了一家公司,主要内容是做关于移动端室内定位的相关sdk,刚进来的时候信心满满,誓要干出一番天地!!!结果进来快一个多月了,根本没轮到我施展拳脚,给我搁置在一旁自己弄自己的。行吧,既然是做室内定位的话那无非就是(gps,蓝牙,wifi等)这些技术来实现嘛,然后我们就可以有本篇的切入点了:

android如何获取蓝牙设备了?

我们一步一步来分析,首先蓝牙属于一种短距离的无线通信技术,那作为我们android系统是否对此有过封装了?答案那肯定是有了!

BluetoothAdapter

android提供的蓝牙适配器,既然有了适配器,接下来我们获取蓝牙列表就有了一个切口。首先我们获取蓝牙列表之前,先需要获取蓝牙相关的权限,我们在AndroidManifest.xml里加入权限以下权限:

<uses-permissionandroid:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permissionandroid:name="android.permission.BLUETOOTH" />

 接下来我们在检查设备是否有蓝牙功能

bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if (bluetoothAdapter == null) {
   //通知用户当前设备不具有蓝牙功能
            return;
        }

如果bluetoothAdapter != null, 我们再来检查用户是否开启了蓝牙功能

if (!bluetoothAdapter.isEnabled()){ //检查是否开启蓝牙功能
     Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
     startActivity(intent); //跳转到系统Activity,让用户选择开启蓝牙功能
     bluetoothAdapter.enable();
     return;
}

通过BluetoothAdapter源码我们可以看到该类下面定义了很多常量值


                
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是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); ``` 注意:搜索蓝牙设备需要时间,建议在搜索过程中显示进度条或提示信息。搜索完成后需要注销广播接收器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值