以编程方式获取 Android 设备的 MAC

新手上路,请多包涵

我需要使用 Java 获取我的 android 设备的 MAC 地址。我在网上搜索过,但没有找到任何有用的东西。

原文由 TSW1985 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 673
1 个回答

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

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

也不要忘记将适当的权限添加到您的 AndroidManifest.xml

 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>

请参考 Android 6.0 Changes

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

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

原文由 Konrad Reiche 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题