在与无线网络建立实际连接后,我尝试在接收器中进行意图操作。
我现在正在使用" NETWORK_STATE_CHANGED_ACTION"但是当连接成功但尚未激活时会触发此操作。完全连接需要几秒钟,当isConnected()返回true时(我用它来标记一些更改)。
ConnectivityManager cm = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
NetworkInfo wifiNI = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
wifiNI.isConnected();
我也尝试过使用" SUPPLICANT_CONNECTION_CHANGE_ACTION"但我无法在我的接收器中采取任何行动。
有什么想法吗?
编辑:
最终,该解决方案位于" NETWORK_STATE_CHANGED_ACTION"我应该注意NetworkInfo状态:
NetworkInfo networkInfo = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
NetworkInfo.State state = networkInfo.getState();
if(state.equals(NetworkInfo.State.CONNECTED))
{
// wireless is now connected
}
答案 0 :(得分:0)
使用以下
注册您的接收器 wifiReceiver = new WifiReceiver();
final IntentFilter newFilter = new IntentFilter();
newFilter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);
newFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
newFilter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);
newFilter.addAction(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION);
newFilter.addAction(WifiManager.EXTRA_SUPPLICANT_CONNECTED);
registerReceiver(wifiReceiver, newFilter);
您必须至少看到其中一项操作。