以下代码演示如何在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 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录