没有Internet连接时检测网络漫游

时间:2014-09-19 07:50:07

标签: windows-phone-8 windows-runtime windows-phone-8.1

我想检测网络漫游,而Windows Phone 8和8.1上没有Internet连接。我使用此代码来确定用户是否在漫游:

ConnectionProfile profile = Windows.Networking.Connectivity.NetworkInformation.GetInternetConnectionProfile();
        if (profile == null)
            return false;
        else
            return profile.GetConnectionCost().Roaming;

使用此代码,可以轻松查找手机是否在互联网访问时正在漫游。但是,如果没有连接且ConnectionProfile返回null,则会出现此问题。我搜索了Internet和Stack Overflow来检测网络漫游,但没有结果。建议使用MNC和MCC,但Windows Phone不提供此类信息或任何更详细的网络信息。我没有找到像Android telephonyManager.isNetworkRoaming()这样的函数。

是否有功能,API或方法来检测用户是否在漫游,但是当Internet连接断开时?

1 个答案:

答案 0 :(得分:0)

你可以试试这个,

using Microsoft.Phone.Net.NetworkInformation;
private void button1_Click(object sender, RoutedEventArgs e)
{
    System.Text.StringBuilder sb = new System.Text.StringBuilder();
    sb.Append("Network available:  ");
    sb.AppendLine(DeviceNetworkInformation.IsNetworkAvailable.ToString());
    sb.Append("Cellular enabled:  ");
    sb.AppendLine(DeviceNetworkInformation.IsCellularDataEnabled.ToString());
    sb.Append("Roaming enabled:  ");
    sb.AppendLine(DeviceNetworkInformation.IsCellularDataRoamingEnabled.ToString());
    sb.Append("Wi-Fi enabled:  ");
    sb.AppendLine(DeviceNetworkInformation.IsWiFiEnabled.ToString());
    MessageBox.Show(sb.ToString());
}

您可能还会发现这个有用的http://msdn.microsoft.com/library/windows/apps/jj207005%28v=vs.105%29.aspx