我希望我的 Android 设备连接到 WiFi 热点。
我创建了一个新的wificonfiguration
并将其添加到wifimanager
, this wificonfiguration
has 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
}
编辑:更多详细信息:
注册一个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
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)