2013-09-02 3 views
0

Я изо всех сил пытаюсь на прошлой неделе попытаться заставить это работать. Я загрузил этот фантастический инструмент, который является эмулятором genymotion для Android. Но я не могу получить доступ к Интернету из своей строки кода.Monodroid GenyMotion доступ через интернет через код

 using(WebClient wbclient = new WebClient()) 
     { 
      try 
      {      
       String URI = "http://www.timeapi.org/utc/now"; // test purpose only 
       Stream s = wbclient.OpenRead(URI); 
       using(StreamReader r = new StreamReader(s)) 
       { 
        string str = r.ReadToEnd(); 
       } 
      }catch(Exception ex) 
      { 
       // handle... 
      } 
     } 

Это простой сервис, который возвращает время. Если я укажу этот адрес в браузере гостевого устройства genymotion (android 4.2.2 - API 17), браузер отлично работает и время возвращается. Но приведенный выше код генерирует исключение «Время соединения». Почему в моем гостевом устройстве вышеуказанный URL-адрес может быть извлечен из браузера и правильно отображать время и выдавать исключение при доступе к коду через объект WebClient? Спасибо

ответ

0

Это не ваш код: вы обнаружили, что genymotion не находится в Интернете - этот недостаток находится на официальный дизайн. это происходит потому, что genymotion (оболочка для VirtualBox) отключает правильные адаптеры (которые вы можете установить или не устанавливать в VirtualBox) и вместо этого использует сетевую настройку «Только хост-адаптер», а затем HIDES, что он делает это.

Чтобы устранить эту крайне несправедливую «ошибку» (функцию?), Вы должны войти в VirtualBox, найти машину GenyMotion по имени, а затем отключить ее, щелкнуть правой кнопкой мыши по «Настройки» и затем нажать «Адаптер 2», (вкладка) и отметьте «включить сетевой адаптер», затем нажмите «Прикреплено к:> Мостовому адаптеру», предполагая, что ваш компьютер работает под управлением DHCP, он настроит IP для Android VM, который GenyMotion провозглашает как собственный (которого нет)

Смежные вопросы