這裏我們去用這個。我的項目中有相同的概念,我做了以下工作。希望能幫助到你。
public bool netWorkAvailable()
{
if (NetworkInterface.GetIsNetworkAvailable())
{
Logger.log(TAG, "netWorkAvailable()");
return true;
}
return false;
}
if (netWorkAvailable())
{
buffer.Append(SERVER_URL);
buffer.Append("_req=").Append(8);
httpConnection = new HttpConnection();
httpConnection.connect(REQ_REGISTRATION, buffer.ToString(), listener, null);
httpConnection.Post();
}
我有不同的類來處理所有的httpconnection。 除了這些我也查一些其他的東西爲我的項目的目的有如下幾點:
public bool IsWifiAvailable()
{
if ((NetworkInterface.NetworkInterfaceType == NetworkInterfaceType.Wireless80211))
{
return true;
}
else
{
return false;
}
}
public bool threeGkAvailable()
{
if ((NetworkInterface.NetworkInterfaceType == NetworkInterfaceType.MobileBroadbandCdma)
|| (NetworkInterface.NetworkInterfaceType == NetworkInterfaceType.MobileBroadbandGsm))
{
return true;
}
else
{
return false;
}
}
我會記住的是,網絡的可用性!= Internet連接設置爲20秒的TIMEROUT萬一。您可能想ping IP地址或發送http請求。 – LukeP