在Android 12中,onCapabilitiesChanged方法已不再适用于获取WIFI SSID。相反,您可以使用WifiManager对象来获取WIFI SSID。下面是一个基本的代码示例:
WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
String wifiSSID = wifiInfo.getSSID();
您需要确保已经获得了位置权限。要获得位置权限,请添加以下代码:
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, LOCATION_PERMISSION_REQUEST_CODE);
}
然后在onRequestPermissionsResult回调中添加以下代码:
if (requestCode == LOCATION_PERMISSION_REQUEST_CODE) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// Permission granted
} else {
// Permission denied
}
}