Android获取WiFi MAC地址:代码示例及常见错误解决
以下代码演示如何在Android应用中获取WiFi MAC地址:
WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
List<ScanResult> scanResults = wifiManager.getScanResults();
for (ScanResult scanResult : scanResults) {
if (scanResult.SSID.equals('YOUR_WIFI_NAME')) {
String macAddress = scanResult.BSSID;
// 处理macAddress
break;
}
}
如果您的代码出现错误,很可能是因为缺少必要的权限。您需要在AndroidManifest.xml文件中添加以下权限:
<uses-permission android:name='android.permission.ACCESS_WIFI_STATE' />
<uses-permission android:name='android.permission.ACCESS_COARSE_LOCATION' />
<uses-permission android:name='android.permission.ACCESS_FINE_LOCATION' />
<uses-permission android:name='android.permission.CHANGE_WIFI_STATE' />
此外,您还需要在运行时动态请求权限,以下代码示例:
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[] { Manifest.permission.ACCESS_COARSE_LOCATION }, PERMISSIONS_REQUEST_CODE);
}
最后,请确保您的设备支持WiFi,并且处于打开状态。
原文地址: https://www.cveoy.top/t/topic/mZwP 著作权归作者所有。请勿转载和采集!