Android获取蓝牙地址
2024-10-19 08:58:44
最近做一个项目,发现Android6.0以上的版本获取的蓝牙地址始终为02:00:00:00,
Google一下发现Android早就封掉了相关接口,于是想到反射的方式去获取Mac地址,在此记录一下
Android 6.0以下的版本
直接使用bluetoothadapter.getaddress()
Android 6.0以上
private String getBluetoothAddress(BluetoothAdapter adapter) {
if (adapter == null) {
return null;
}
Class<? extends BluetoothAdapter> btAdapterClass = adapter.getClass();
try {
Field mServiceField = adapter.getClass().getDeclaredField("mService");
mServiceField.setAccessible(true);
Object btManagerService = mServiceField.get(adapter);
if (btManagerService != null) {
return (String) btManagerService.
getClass(.getMethod("getAddress").invoke(btManagerService);
} else {
return null;
}
} catch (Exception e) {
e.printStackTrace();
LogWriter.writeLog(TAG, e.getMessage());
return null;
}
}
PS:有的手机需要在蓝牙已经打开的时候才能获取到
最新文章
- HDFS的架构
- 使用phpstorm来进行svn提交
- Android 中onConfigurationChanged问题
- 150923-碎觉要-PHP,Linux
- ABAP 将SAP用户ID转换成用户名
- Java—接口与抽象类
- [转]MySQL中存储过程权限问题
- 利用jsp和servlet,MySQL实现简易报表
- 开启和关闭wifi的代码段
- 格而知之4:寻找EXC_BAD_ACCESS
- poj3280(区间dp)
- weex官方demo weex-hackernews代码解读(1)
- ECMAScript6词法
- 映射内网ftp服务器到公网后内网访问出错问题
- windows 操作系统发展过程
- golang: 利用unsafe操作未导出变量
- django 学习笔记(转)
- phpStorm 8.0.3 设置
- C# 在托盘显示图标
- 设置时间同步(Linux,Solaris)
热门文章
- [转] org.scalatest.FunSuite Scala Examples - Scala FunSuite 测试的例子
- destoon调用方法汇总 ---转载
- 用python开发了一个简单apache web服务端范例,在win10 + apache2.4.9 + python3.5 测试成功
- C# string 特殊的引用类型
- https证书pfx 生成 pem,crt,key
- MkDocs
- Java大法之面向对象
- 网络IO之阻塞、非阻塞、同步、异步总结【转】
- 使用javascript获取wx.config内部字段解决微信分享
- C# 空合并运算符 ??