我的应用程序可以通过BluetoothAdapter.getDefaultAdapter().getAddress().获得它的设备MAC地址
现在,随着Marshmallow的出现,安卓系统正在返回02:00:00:00:00:00。
我看到了一些链接(抱歉,不知道现在在哪里),上面说您需要添加附加权限。
<uses-permission android:name="android.permission.LOCAL_MAC_ADDRESS"/> 才能得到它。不过,这对我没有用。
是否需要额外的许可才能获得mac地址?
我不确定这是否与此相关,但舱单也包括
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>那么有什么办法可以得到本地的蓝牙mac地址吗?
发布于 2017-02-13 18:21:26
事实证明,我最终没有从Android获得MAC地址。蓝牙设备最终提供了Android设备的MAC地址,该地址被存储,然后在需要时使用。是的,这似乎有点古怪,但在我参与的项目中,蓝牙设备软件也在开发中,这是处理这种情况的最佳方法。
发布于 2015-12-01 09:10:06
zmarties是对的,但是您仍然可以通过反射或Settings.Secure获得mac地址:
String macAddress = android.provider.Settings.Secure.getString(context.getContentResolver(), "bluetooth_address");发布于 2015-10-28 09:34:20
对mac地址的访问已被故意删除:
为了给用户提供更好的数据保护,从这个版本开始,Android删除了使用with和蓝牙API对设备本地硬件标识符的编程访问。
(来自Android6.0更改)
https://stackoverflow.com/questions/33377982
复制相似问题