none
请教大家一个问题 ,wp8.1中 ,如何获取当前的网络类型呢? RRS feed

  • 问题

  •  为什么 在 wp8.1 中没有 NetworkInterfaceType 呢?我应该如何获得当前设备的网络类型 如 wifi  gps 等等?
    2014年11月8日 5:51

答案

  • 你可以用Microsoft.Phone.Net.NetworkInformation

    http://msdn.microsoft.com/en-us/library/windows/apps/hh202859(v=vs.105).aspx

    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());
    }
    


    Myblog: 松露筆管麵 微軟實戰課程日

    • 已标记为答案 DreamDays 2014年11月10日 4:47
    2014年11月8日 7:34
  • 试试以下的程序

            private void Button_Click(object sender, RoutedEventArgs e)
            {
               var profile = Windows.Networking.Connectivity.NetworkInformation.GetInternetConnectionProfile();
               if ( profile.IsWlanConnectionProfile)
               {
                   Debug.WriteLine("WALN");
               }
               else if (profile.IsWwanConnectionProfile )
               {
                   Debug.WriteLine("Mobile");
               }
               else
               {
                   Debug.WriteLine("Unknown");
               }
    
            }


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    • 已标记为答案 DreamDays 2014年11月10日 4:47
    2014年11月9日 5:40

全部回复

  • 你可以用Microsoft.Phone.Net.NetworkInformation

    http://msdn.microsoft.com/en-us/library/windows/apps/hh202859(v=vs.105).aspx

    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());
    }
    


    Myblog: 松露筆管麵 微軟實戰課程日

    • 已标记为答案 DreamDays 2014年11月10日 4:47
    2014年11月8日 7:34
  • 你可以用Microsoft.Phone.Net.NetworkInformation

    http://msdn.microsoft.com/en-us/library/windows/apps/hh202859(v=vs.105).aspx

    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());
    }
    可是wp8.1环境下时没有这个程序集的..........引用不到


    Myblog: 松露筆管麵 微軟實戰課程日


    2014年11月8日 11:14
  • 你可以用Microsoft.Phone.Net.NetworkInformation

    http://msdn.microsoft.com/en-us/library/windows/apps/hh202859(v=vs.105).aspx

    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());
    }


    Myblog: 松露筆管麵 微軟實戰課程日

    ...................................

    wp8.1环境下 变成了 

     System.Net.NetworkInformation  这个命名空间 ,但是通过这个获取不到网络类型
    2014年11月8日 11:18
  • 试试以下的程序

            private void Button_Click(object sender, RoutedEventArgs e)
            {
               var profile = Windows.Networking.Connectivity.NetworkInformation.GetInternetConnectionProfile();
               if ( profile.IsWlanConnectionProfile)
               {
                   Debug.WriteLine("WALN");
               }
               else if (profile.IsWwanConnectionProfile )
               {
                   Debug.WriteLine("Mobile");
               }
               else
               {
                   Debug.WriteLine("Unknown");
               }
    
            }


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    • 已标记为答案 DreamDays 2014年11月10日 4:47
    2014年11月9日 5:40