如何使用ConnectivityManager.NetworkCallback()

问题描述 投票:0回答:1

我想使用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)。那我该怎么办呢?

android android-wifi android-connectivitymanager
1个回答
0
投票

onAvailable是一个覆盖的方法,您不能手动调用它。

当ConnectivityManager.NetworkCallback对象检测到可用网络时,都会自动调用它。

如果要获取wifi网络的SSID,请在onAvailable方法中调用以下代码

 WifiManager mainWifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
        WifiInfo currentWifi = mainWifi.getConnectionInfo();
 if(currentWifi!=null){
       String wifiSSID = currentWifi.getSSID();
 }
© www.soinside.com 2019 - 2024. All rights reserved.