首页 > 代码库 > 通过安卓应用获取任意蓝牙设备的MAC地址
通过安卓应用获取任意蓝牙设备的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地址:
通过安卓应用获取任意蓝牙设备的MAC地址
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。