use*_*874 12 c# network-connection windows-phone-8 windows-phone-8.1
我正在开发Windows Phone 8应用程序.在这个应用程序中,我必须连接到服务器以获取数据.
所以在连接到服务器之前,我想检查互联网连接是否可用于设备.如果互联网连接可用,那么我只会从服务器获取数据,否则我将显示错误消息.
请告诉我如何在Windows Phone 8中执行此操作.
jAC*_*jAC 13
NetworkInterface.GetIsNetworkAvailable()
返回NIC的状态.
根据状态,您可以通过使用以下方式询问是否建立了连接:
ConnectionProfile
- 使用以下内容的Windows Phone 8.1类enum NetworkConnectivityLevel
:
这段代码应该可以解决问题.
bool isConnected = NetworkInterface.GetIsNetworkAvailable();
if (isConnected)
{
ConnectionProfile InternetConnectionProfile = NetworkInformation.GetInternetConnectionProfile();
NetworkConnectivityLevel connection = InternetConnectionProfile.GetNetworkConnectivityLevel();
if (connection == NetworkConnectivityLevel.None || connection == NetworkConnectivityLevel.LocalAccess)
{
isConnected = false;
}
}
if(!isConnected)
await new MessageDialog("No internet connection is avaliable. The full functionality of the app isn't avaliable.").ShowAsync();
Run Code Online (Sandbox Code Playgroud)
public static bool checkNetworkConnection()
{
var ni = NetworkInterface.NetworkInterfaceType;
bool IsConnected = false;
if ((ni == NetworkInterfaceType.Wireless80211)|| (ni == NetworkInterfaceType.MobileBroadbandCdma)|| (ni == NetworkInterfaceType.MobileBroadbandGsm))
IsConnected= true;
else if (ni == NetworkInterfaceType.None)
IsConnected= false;
return IsConnected;
}
Run Code Online (Sandbox Code Playgroud)
调用此功能并检查互联网连接是否可用.