hen*_*yao 2 android android-wifi
我想我的Android设备连接到wifi热点.我创建了一个新的wificonfiguration
并将其添加到wifimanager
,这wificonfiguration
有NetworkId
.然后我调用该函数wifi.enableNetwork(NetworkId, true).
在那之后,我认为请求者将通过获取IP地址,身份验证,并最终物理连接到热点.那么有没有办法确定wifi是否物理连接?
我更喜欢类似处理程序的方法.
Kra*_*uxe 10
你可以试试这个:
ConnectivityManager cm = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
NetworkInfo wifi = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (wifi.isConnected()) {
// Your code here
}
Run Code Online (Sandbox Code Playgroud)
编辑:更多详情:
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>
Run Code Online (Sandbox Code Playgroud)
然后将上面的代码放在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
}
}
Run Code Online (Sandbox Code Playgroud)
您可以检查所有网络.如果您只想要WIFI,则可以删除检查其他2个网络.
public static boolean hasInternetConnection()
{
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo wifiNetwork = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (wifiNetwork != null && wifiNetwork.isConnected())
{
return true;
}
NetworkInfo mobileNetwork = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if (mobileNetwork != null && mobileNetwork.isConnected())
{
return true;
}
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
if (activeNetwork != null && activeNetwork.isConnected())
{
return true;
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
不要忘记在清单中添加以下内容:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
20334 次 |
最近记录: |