java安卓获取mac_android开发分享以编程方式获取Android设备的MAC

正如在评论中已经指出的那样,可以通过WifiManager接收MAC地址。

WifiManager manager = (WifiManager) getSystemService(Context.WIFI_SERVICE); WifiInfo info = manager.getConnectionInfo(); String address = info.getMacAddress();

另外不要忘记将相应的权限添加到您的AndroidManifest.xml

请参阅Android 6.0更改 。

为了向用户提供更好的数据保护,从本版本开始,Android使用Wi-Fi和蓝牙API删除对设备本地硬件标识符的编程访问。 WifiInfo.getMacAddress()和BluetoothAdapter.getAddress()方法现在返回一个常数值02:00:00:00:00:00。

要通过蓝牙和Wi-Fi扫描访问附近外部设备的硬件标识符,您的应用必须具有ACCESS_FINE_LOCATION或ACCESS_COARSE_LOCATION权限。

通过WifiInfo.getMacAddress()获取MAC地址在Marshmallow及以上版本中不起作用,它已被禁用,并将返回恒定值02:00:00:00:00:00 。

public String getMacAddress(Context context) { WifiManager wimanager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); String macAddress = wimanager.getConnectionInfo().getMacAddress(); if (macAddress == null) {

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值