2012-05-18 2 views
0

앱에 웹 브라우저가 있습니다. 인터넷 연결이 끊어지면 웹 브라우저로 뭔가를해야합니다. MessageBox를 표시하고 인터넷을 다시 사용할 수있을 때 웹 사이트에 다시 연결하십시오. DeviceNetworkInformation.NetworkAvailabilityChanged 이벤트를 사용할 수 있지만 테스트 중이면 이벤트가 실행되지 않습니다. 탐색 할 때 DeviceNetworkInformation.IsNetworkAvailable을 사용했지만 사용하려는 기능이 없습니다. 나는 710인터넷 연결이 끊어졌습니다. 웹 브라우저

여기에 노키아 루미아 내 간단한 코드에서 테스트를, 내가 MSDN http://msdn.microsoft.com/en-us/library/microsoft.phone.net.networkinformation.devicenetworkinformation.networkavailabilitychanged%28v=vs.92%29.aspx

DeviceNetworkInformation.NetworkAvailabilityChanged + = 새로운 이벤트 핸들러 (NetworkAvailabilityChanged)에서 예에서 그를 만들;

void NetworkAvailabilityChanged(object sender, NetworkNotificationEventArgs e) 
    {    
     string info = string.Empty; 
     bool connection = false; 
     bool disco = false; 

     switch (e.NotificationType) 
     {      
      case NetworkNotificationType.InterfaceConnected:      
        connection = true;       
        break; 

      case NetworkNotificationType.InterfaceDisconnected:      
        info = "Lost Internet";  
        disco=true;          
        break; 

      case NetworkNotificationType.CharacteristicUpdate:     
        break;         
      default:     
        break; 

     } 
     Dispatcher.BeginInvoke(() => 
     { 
      if(disco) 
      MessageBox.Show(info); 

      if(connection)    
      webbrowser1.Navigate(site);           
     }); 
    } 

나는 이러한 방법은, IsNetworkAvailable을 IsCellularDataEnabled 것을 전화로 확인 질문이, true를 돌려 IsWiFiEnabled. 나는 NetworkAvailabilityChanged 이벤트가 오직 하나의 네트워크 유형이 가능할 때에 만 작동한다는 것을 읽었다. 사실입니까?

+1

나는 그것은 단지의 그 bools – ry8806

+0

중 일부의 이름에 동의 모르겠어요 예를 들어, 실제로 문제는 이벤트가 실행되지 않는다는 것입니다. 내가 라우터를 끌 때. – user1389188

+0

@ user1389188 - 변수 이름 중 하나가 미국 영어로 다소 불쾌감을줍니다. – Robaticus

답변

0

그것이라고 당신이 NetworkNotificationEventArgs 인수에서 분리의 정보를 취할 수 http://msdn.microsoft.com/en-us/library/microsoft.phone.net.networkinformation.devicenetworkinformation.networkavailabilitychanged(v=vs.92).aspx 당신을 도울 수 있습니다이 페이지를 확인하시기 바랍니다 ...

+0

이 코드를 작성하려면이 링크를 사용하고 있습니다. 내 문제는 이벤트가 실행되고 있지 않다는 것입니다. 내가 라우터를 끌 때. – user1389188

+0

@ user1389188 해결책을 찾았습니까? 그렇다면 제게 같은 종류의 문제에 직면하고 있습니다. – rakesh

+0

웹 브라우저의 네비게이션 이벤트에서 인터넷이 손실되었는지 확인하고 있습니다. 이 이벤트가 발생하면 NetworkInterface.GetIsNetworkAvailable 메서드로 확인한 다음 false가 반환되면 인터넷이 손실되었다는 정보가있는 MessageBox가 표시됩니다. 어쩌면 좋은 해결책은 아니지만 NetworkAvailabilityChanged 이벤트가 제대로 작동하도록 할 수는 없습니다. – user1389188

관련 문제