2014-03-30 4 views
0

MSDN http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh487166(v=vs.105).aspx의 샘플을 참조하여 네트워크 변경 및 네트워크 이름, 상태 등의 네트워크 속성을 확인할 수 있습니다.하지만 어떻게이 동일한 정보를 얻을 수 있습니까? 네트워크 업데이트가 발생하기 전에? 예를 들어 내 앱이로드되지 않으면 네트워크 변경 사항이 감지되어 정보가 현재 비어 있습니다. 페이지를 탐색 할 때 NetworkAvailabilityChanged 이벤트가 강제로 실행되도록 할 수 있습니까?장치 네트워크 이름 및 연결을 확인하는 방법

// Subscribe to the NetworkAvailabilityChanged event 
DeviceNetworkInformation.NetworkAvailabilityChanged += new EventHandler<NetworkNotificationEventArgs>(ChangeDetected); 

... 


// In this callback, we examine the change that was detected. In this example, we are 
// creating a simple information string and adding that to the event list on the UI. 
// In a real application, this is where you might adjust your communication connection 
// in order to take advantage of a network availability change. 
void ChangeDetected(object sender, NetworkNotificationEventArgs e) 
{ 
string change = string.Empty; 
switch (e.NotificationType) 
{ 
    case NetworkNotificationType.InterfaceConnected: 
     change = "Connected to "; 
     break; 
    case NetworkNotificationType.InterfaceDisconnected: 
     change = "Disconnected from "; 
     break; 
    case NetworkNotificationType.CharacteristicUpdate: 
     change = "Characteristics changed for "; 
     break; 
    default: 
     change = "Unknown change with "; 
     break; 
} 

string changeInformation = String.Format(" {0} {1} {2} ({3})", 
      DateTime.Now.ToString(), change, e.NetworkInterface.InterfaceName, 
      e.NetworkInterface.InterfaceType.ToString()); 

// We are making UI updates, so make sure these happen on the UI thread. 
Dispatcher.BeginInvoke(() => 
{ 
    Changes.Add(changeInformation); 
    UpdateNetworkStatus(); 
    UpdateNetworkInterfaces(); 

}); 

} 

답변

0

DeviceNetworkInformation 클래스를 통해 네트워크 정보를 얻을 수 있습니다.

추가하여이 DeviceNetworkInformation를 얻을 수 있습니다

"Microsoft.Phone.Net.NetworkInformation을 사용하여;"

여기서 Microsoft의 DeviceNetworkInformation을 얻으려는 link입니다. (그것의 작동하지 않는 경우 만약 내가 잘못 정정 해줘, 나)

희망이

감사합니다. 도움이됩니다.

+0

'DeviceNetworkInformation' 클래스는 현재 네트워크 이름이나 활성 네트워크 연결이 있는지 여부를 반환하지 않습니다. 나는 Cellular 네트워크를 얻고 그것을 연결했는지 여부를 알아 내기 위해 사용할 수 있지만 사용중인 활성 네트워크 연결에 대한 정보를 수집해야합니다. WiFi, 이더넷, 셀룰러 등으로 구성해야합니다. http://msdn.microsoft .com/en-us/library/windowsphone/develop/hh487166 (v = 1010) .aspx하지만 네트워크 변경이 발생할 때만 데이터를 반환 할 수 있습니다. 내 문제는 응용 프로그램이로드되고 페이지를 탐색하는 즉시이 정보가 필요하다는 것입니다. – Matthew

+0

그 링크에서 DeviceNetworkInformation을 직접 사용하여 얻을 수없는 SubType과 같은 NetworkInterface에 대한 특정 데이터를 반환한다는 것을 제외하고는 기본적으로 동일한 설정을 사용합니다. 내가 틀렸다면 나를 바로 잡는다.하지만 링크의 샘플에서'UpdateNetworkInterfaces()'를 호출 할 때조차도 네트워크 변경이 일어나고 이벤트가 발생할 때까지 SubType 데이터를 반환하지 않는다. 페이지로드시 수동으로 이벤트 처리기를 실행하려고 시도했지만이 방법도 사용할 수 없습니다. 어떤 아이디어? – Matthew

+0

안녕 Mathew, 셀룰러 네트워크라면 서비스 제공 업체 이름을 알아야합니다. Wi-Fi라면 ip와 all을 알아야합니다. 맞습니까? – Noorul

관련 문제