从Android6.0开始,通过BluetoothAdapter.getDefaultAdapter().getAddress()获取的地址是一个固定值02:00:00:00:00:00,部分从低版本升级到6.0的手机也还是可以获取真实的MAC地址的。下面通过反射的方式

获取蓝牙地址:

public static String getBtAddressByReflection() {        BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();        Field field = null;        try {            field = BluetoothAdapter.class.getDeclaredField("mService");            field.setAccessible(true);            Object bluetoothManagerService = field.get(bluetoothAdapter);            if (bluetoothManagerService == null) {                return null;            }            Method method = bluetoothManagerService.getClass().getMethod("getAddress");            if(method != null) {               Object obj = method.invoke(bluetoothManagerService);               if(obj != null) {                    return obj.toString();               }            }        } catch (NoSuchFieldException e) {            e.printStackTrace();        } catch (IllegalAccessException e) {            e.printStackTrace();        } catch (NoSuchMethodException e) {            e.printStackTrace();        } catch (InvocationTargetException e) {            e.printStackTrace();        }        return null;    }


更多相关文章

  1. android中基于蓝牙开发的demo
  2. Android 打开系统蓝牙设置
  3. 蓝牙原理Android代码实现
  4. android蓝牙开发入门到精通2---查找可见蓝牙并绑定
  5. Android获取有线和无线(wifi)的IP地址
  6. Android GPS 获得 经纬度 并得到该 坐标 精确地址
  7. android 获取网络IP地址

随机推荐

  1. 【android】ImageView的src和background
  2. Android------播放音乐的工具类
  3. 浅谈Android中的Handler
  4. 创建自定义视图在Android矩阵效果画布教
  5. Android中Activity、Service和线程之间的
  6. 基于 Android NDK 的学习之旅-----数据传
  7. Android入门教程(二十三)------之Gallery
  8. 基于Android的Word文档阅读器
  9. Android中父View和子view的点击事件的执
  10. Android 网络通信框架Volley的简单使用