在我的应用程序中,我需要捕获wifi网络的ssid,使用此代码我可以做到,但是当wifi网络已经启动并注册时;但是我需要通过代码打开wifi,这个过程花费了更多时间,但是到那时我的代码不再有用了,我试图放置一个do-while循环,但是它无法退出该循环,有人可以告诉我如何获得这个
public void CheckNetworkConnection() {
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
while (connectivityManager == null) ;
do {
netInfo = connectivityManager.getActiveNetworkInfo();
}while (!netInfo.isConnected());
Log.e( "DEBUG-->", "aqui" );
if (netInfo != null && netInfo.isConnected()
&& netInfo.isConnectedOrConnecting()
&& netInfo.isAvailable()) {
networkSSID = netInfo.getExtraInfo();
Log.e( "DEBUG-->", "Conexion a " + networkSSID);
}else {
Log.e( "DEBUG-->", "Sin Conexion" );
}
}
在图像中,您可以看到启动应用程序后需要一段时间,直到具有有效ssid的wifi网络可用为止。