如何获取无线连接的连接进度

How to get the progress of a conecting to wireless connection

我正在制作一个显示可用无线网络的应用程序,用户可以选择一个网络并连接到它。

我有一个广播接收器,当连接完成时,我会收到连接状态:已连接,但我还想向用户显示更多信息,例如,正在验证、获取 IP 地址,因为现在我只知道网络何时连接但直到那时才知道。 知道怎么做吗?

非常感谢

NetworkInfo 对象提供了细粒度的连接状态 - getDetailedState

NetworkInfo ni = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
DetailedState state =  ni.getDetailedState();

您还需要注册您的广播接收器以接收来自 WifiManager 的状态更改事件

IntentFilter filter = 
   new IntentFilter(WifiManager.WIFI_STATE_CHANGED_ACTION); 
filter.addAction(WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION);
filter.addAction(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION);
filter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);