我想使用ConnectivityManager.NetworkCallback()
来获取Android设备的已连接wifi SSID。
private ConnectivityManager.NetworkCallback mNetworkCallback = new ConnectivityManager.NetworkCallback() {
@Override
public void onAvailable(Network network) {
onNetworkAvailable(network);
//I think I need to find the connected SSID in here.
}
@Override
public void onLost(Network network) {
onNetworkLost(network);
}
};
有一个名为onAvailable(Network network)
的方法。因此,我想我应该在此方法中找到连接的SSID。但是我不知道如何使用此方法以及如何调用onAvailable(Network network)
。那我该怎么办呢?
onAvailable是一个覆盖的方法,您不能手动调用它。
当ConnectivityManager.NetworkCallback对象检测到可用网络时,都会自动调用它。
如果要获取wifi网络的SSID,请在onAvailable方法中调用以下代码
WifiManager mainWifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo currentWifi = mainWifi.getConnectionInfo();
if(currentWifi!=null){
String wifiSSID = currentWifi.getSSID();
}