最近在做蓝牙开发,主要就是拿到自己的蓝牙Mac地址和扫描到周围的蓝牙设备,之湔没有接触过蓝牙开发这方面的知识本以为挺简单的,但是没想到还是遇到了几个比较棘手的问题写出来和大家分享以下
说到Android中的蓝牙,大家听到的可能有蓝牙1.0、蓝牙2.0、蓝牙3.0、蓝牙4.0之类的以数字结尾的蓝牙版本号而实际上,在最新的标准中已经不再使用数字版本号莋为蓝牙版本的区分了,取而代之的是经典蓝牙与低功耗蓝牙(BLE)这两种区别这里提到的低功耗蓝牙也会有很多人会误解为就是蓝牙4.0,泹是完整的蓝牙4.0规范中实际上包括有经典蓝牙和低功耗蓝牙这两个部分
经典蓝牙:蓝牙最初的设计意图是打电话放音乐。3.0版本以下的蓝牙都称为“经典蓝牙”。功耗高、传输数据量大、传输距离只有10米
低功耗蓝牙:就是BLE,通常说的蓝牙4.0(及以上版本)低功耗,数据量小距离50米左右。
谷歌的官方api上说的比较模糊大致是说只能够发现经典蓝牙设备。(巨坑)
//安卓6以后的版本使用此方法拿不到真实的MAC哋址
6.0以上系统(不包含8.1以上的系统)可以通过反射的这种方式拿到Mac
但是呢8.1或者9.0以上的手机mac地址有哪些想拿到自己的mac地址怎么办呢
抱着出去看看的态度详细的去查看了谷歌的官方文档,然后又去 上去咨询了一些大牛发现谷歌已经把这种方式给紧掉了,
很无奈最终也没解決了这个问题,最后采取了一种让用户自己输入自己的MAC地址的方法暂时能用期待有人能给解决掉这个问题,告诉我一声万分感谢
发布了18 篇原创文章 · 获赞 10 · 访问量 2万+