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();
});
}
'DeviceNetworkInformation' 클래스는 현재 네트워크 이름이나 활성 네트워크 연결이 있는지 여부를 반환하지 않습니다. 나는 Cellular 네트워크를 얻고 그것을 연결했는지 여부를 알아 내기 위해 사용할 수 있지만 사용중인 활성 네트워크 연결에 대한 정보를 수집해야합니다. WiFi, 이더넷, 셀룰러 등으로 구성해야합니다. http://msdn.microsoft .com/en-us/library/windowsphone/develop/hh487166 (v = 1010) .aspx하지만 네트워크 변경이 발생할 때만 데이터를 반환 할 수 있습니다. 내 문제는 응용 프로그램이로드되고 페이지를 탐색하는 즉시이 정보가 필요하다는 것입니다. – Matthew
그 링크에서 DeviceNetworkInformation을 직접 사용하여 얻을 수없는 SubType과 같은 NetworkInterface에 대한 특정 데이터를 반환한다는 것을 제외하고는 기본적으로 동일한 설정을 사용합니다. 내가 틀렸다면 나를 바로 잡는다.하지만 링크의 샘플에서'UpdateNetworkInterfaces()'를 호출 할 때조차도 네트워크 변경이 일어나고 이벤트가 발생할 때까지 SubType 데이터를 반환하지 않는다. 페이지로드시 수동으로 이벤트 처리기를 실행하려고 시도했지만이 방법도 사용할 수 없습니다. 어떤 아이디어? – Matthew
안녕 Mathew, 셀룰러 네트워크라면 서비스 제공 업체 이름을 알아야합니다. Wi-Fi라면 ip와 all을 알아야합니다. 맞습니까? – Noorul