首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获取Marshmallow中的蓝牙本地mac地址

获取Marshmallow中的蓝牙本地mac地址
EN

Stack Overflow用户
提问于 2015-10-27 20:35:39
回答 9查看 43.6K关注 0票数 32

我的应用程序可以通过BluetoothAdapter.getDefaultAdapter().getAddress().获得它的设备MAC地址

现在,随着Marshmallow的出现,安卓系统正在返回02:00:00:00:00:00

我看到了一些链接(抱歉,不知道现在在哪里),上面说您需要添加附加权限。

代码语言:javascript
运行
复制
<uses-permission android:name="android.permission.LOCAL_MAC_ADDRESS"/> 

才能得到它。不过,这对我没有用。

是否需要额外的许可才能获得mac地址?

我不确定这是否与此相关,但舱单也包括

代码语言:javascript
运行
复制
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>

那么有什么办法可以得到本地的蓝牙mac地址吗?

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2017-02-13 18:21:26

事实证明,我最终没有从Android获得MAC地址。蓝牙设备最终提供了Android设备的MAC地址,该地址被存储,然后在需要时使用。是的,这似乎有点古怪,但在我参与的项目中,蓝牙设备软件也在开发中,这是处理这种情况的最佳方法。

票数 0
EN

Stack Overflow用户

发布于 2015-12-01 09:10:06

zmarties是对的,但是您仍然可以通过反射或Settings.Secure获得mac地址:

代码语言:javascript
运行
复制
  String macAddress = android.provider.Settings.Secure.getString(context.getContentResolver(), "bluetooth_address");
票数 42
EN

Stack Overflow用户

发布于 2015-10-28 09:34:20

对mac地址的访问已被故意删除:

为了给用户提供更好的数据保护,从这个版本开始,Android删除了使用with和蓝牙API对设备本地硬件标识符的编程访问。

(来自Android6.0更改)

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33377982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档