2014-09-19 4 views
0

Windows 로의 전화 연결이없는 동안 네트워크 로밍을 감지하고 싶습니다. 이 전화는 인터넷 접속이있는 경우 로밍에있는 경우 쉽게 찾을 수이 코드인터넷에 연결되어 있지 않으면 네트워크 로밍을 감지합니다.

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

: 나는 사용자가 로밍에 있는지 확인하려면이 코드를 사용했다. 그러나 연결이없고 ConnectionProfile이 null을 반환하면 문제가 발생합니다. 네트워크 로밍 감지를 위해 인터넷 및 스택 오버플로를 검색했지만 결과는 표시되지 않았습니다. MNC 및 MCC를 사용하도록 제안되었지만 Windows Phone은 이러한 정보 나 더 자세한 네트워크 정보를 제공하지 않습니다. Android telephonyManager.isNetworkRoaming()과 같은 기능을 찾지 못했습니다.

사용자가 로밍 중이지만 인터넷 연결이 끊어 졌음을 감지하는 API, 메소드가 있습니까? 당신이 시도 할 수

답변

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

+0

이 라이브러리는 나에게 알려져 찾을 수 있지만 내가 원하는 정확하게하지 않습니다. 이걸로 나는 사용자가 전화 (WiFi, GSM 등)를 연결하도록 허용 한 경우에만 알 수 있지만 실제로 로밍인지 여부는 알리지 않습니다. –

+0

DeviceNetworkInformation.IsCellularDataRoamingEnabled.ToString()이 작동하지 않습니다 ?? –

+0

데이터 로밍을 해제하면이 속성에서 거짓을 표시합니다. 인터넷 연결이있을 때 로밍 중인지 확인하려면 응답에 링크로 설명 된 연결 프로필을 사용합니다. 캐치는 사용 가능한 인터넷없이 로밍을 결정하는 것입니다. –

관련 문제