0

我想用来ConnectivityManager.NetworkCallback()获取安卓设备连接的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). 那么我该怎么做呢?

4

1 回答 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();
 }
于 2019-12-13T10:23:07.223 回答