我想知道为什么连接的WiFi,但没有在Android的无法上网。我该如何检查呢? 我的code是:
ConnectivityManager CN =(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
的NetworkInfo NF = cn.getActiveNetworkInfo();
如果(NF = NULL和放大器;!&安培; nf.isConnected())
{
标志2 = FALSE;
Log.e(网络--------,1 --------------);
如果(cn.getActiveNetworkInfo()。isConnectedOrConnecting())
{Log.e(网络--------,11111111111111 --------------);
}
其他
{Log.e(网络--------,2222222222222 --------------);
}
}
其他
{
Log.e(网络--------,2 --------------);
}
解决方案
您可以尝试这样的:
公共无效checkOnlineState(){
ConnectivityManager CManager =
(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
的NetworkInfo n信息= CManager.getActiveNetworkInfo();
如果(n信息=空&安培;!&安培; NInfo.isConnectedOrConnecting()){
如果(InetAddress.getByName(www.xy.com)。isReachable(超时))
{
// HOST可到达
}
其他
{
//主机不可达
}
}
返回;
}
不要忘了访问
<使用-权限的Android:名称=android.permission.ACCESS_NETWORK_STATE/>
希望它的工作:)
I would like to know why wifi is connected but there is no internet access in Android. How can i check it? My code is:
ConnectivityManager cn=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo nf=cn.getActiveNetworkInfo();
if(nf != null && nf.isConnected() )
{
Flag2=false;
Log.e("network--------", "1--------------");
if (cn.getActiveNetworkInfo().isConnectedOrConnecting())
{Log.e("network--------", "11111111111111--------------");
}
else
{Log.e("network--------", "2222222222222--------------");
}
}
else
{
Log.e("network--------", "2--------------");
}
解决方案
You could try something like this:
public void checkOnlineState() {
ConnectivityManager CManager =
(ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo NInfo = CManager.getActiveNetworkInfo();
if (NInfo != null && NInfo.isConnectedOrConnecting()) {
if (InetAddress.getByName("www.xy.com").isReachable(timeout))
{
// host reachable
}
else
{
// host not reachable
}
}
return;
}
dont forget the access
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Hope it will work :)