通过安卓应用获取任意蓝牙设备的MAC地址

最近做一个安卓应用,用蓝牙信号控制一台仪器,通过一个蓝牙转串口的装置,发送蓝牙信号,然后转换为串口命令发送给仪器。蓝牙装置如下:



在写安卓应用中的java代码时,如何获取这个蓝牙设备呢?BluetoothAdapter 的 getRemoteDevice(address) 方法可以通过MAC地址来获取蓝牙设备:

BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(address);

但问题来了,这个蓝牙设备的MAC地址是多少呢?

对于手机,可以在状态消息模块中查看本机的蓝牙地址:



不过,这个用于蓝牙转串口的装置,想要知道它的MAC地址可没这么容易,那怎么办呢?

偶然发现,安卓的蓝牙模块中,有个功能可以获取保存过的蓝牙设备,如果先把这个蓝牙转串口的装置和手机进行配对并保存,那是不是就可以从保存列表中把它取出从而得到MAC地址呢?

于是,首先用手机蓝牙和这个设备进行匹配,它的名字是BC04-B:



然后,在java代码中:

//获取已经保存过的设备信息
Set<BluetoothDevice> devices = mBluetoothAdapter.getBondedDevices();
if (devices.size()>0) {  
    for(Iterator<BluetoothDevice> iterator=devices.iterator();iterator.hasNext();){  
          BluetoothDevice bluetoothDevice=(BluetoothDevice)iterator.next();  
          System.out.println("设备:"+bluetoothDevice.getName() + " " + bluetoothDevice.getAddress());
    }  
}  

果然,LogCat 中就打印出了保存过的蓝牙设备列表已经它们各自的MAC地址:



  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小鹰信息技术服务部

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值