我想让我的安卓设备连接到 wifi 热点。
我创建了一个新的 wificonfiguration
并将其添加到 wifimanager
中,此 wificonfiguration
具有 NetworkId
。然后我调用该函数wifi.enableNetwork(NetworkId, true).
之后,我认为请求者将通过获取 ip 地址、身份验证,最后物理连接到热点。 那么有没有办法判断wifi是否物理连接?
我更喜欢类似处理程序的方法。
最佳答案
你可以试试这个:
ConnectivityManager cm = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
NetworkInfo wifi = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (wifi.isConnected()) {
// Your code here
}
编辑:更多细节:
像这样在 list 中注册一个 BroadcastReceiver
:
<receiver android:name="WifiReceiver">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
<action android:name="android.net.wifi.STATE_CHANGE"/>
</intent-filter>
</receiver>
然后将上面的代码放在接收器的 onReceive()
方法中,如下所示:
@Override
public void onReceive(Context context, final Intent intent) {
ConnectivityManager cm = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
NetworkInfo wifi = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (wifi.isConnected()) {
// Your code here
}
}
关于android - 如何检查 wifi 是否真的在 Android 中连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16577939/