Java Android доступ в интернет: Wi-Fi или 3G - PullRequest
4 голосов
/ 05 марта 2012

В моем приложении для Android он должен получить доступ к удаленному серверу, чтобы отправить запрос и получить ответ для продолжения работы.

Мне нужно уточнить, что перед отправкой запроса я должен специально выбратьчто это должен быть WIFI или мобильный (3G) Интернет в ситуации, когда оба доступны.Я не уверен, что сама ОС ANDROID выберет лучших из них или выдаст исключение во время выполнения.Я не могу проверить это, так как работаю с эмулятором.Хотелось бы узнать стандартный способ.

Я могу проверить, соединился ли он с WIFI или 3G (мобильный) по следующему коду.Хотелось бы узнать перед отправкой запроса, должен ли я выбрать, что это должен быть WIFI или МОБИЛЬНЫЙ (3G) интернет.Правильное руководство высоко ценится.Заранее спасибо ...

   ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
   NetworkInfo[] netInfo = cm.getAllNetworkInfo();

   for (NetworkInfo ni : netInfo) 
   {
       if (ni.getTypeName().equalsIgnoreCase("WIFI") && ni.isConnected())
       {
            Toast.makeText(getApplicationContext(), "Connected to Internet with WIFI", Toast.LENGTH_LONG).show();
       }
       if (ni.getTypeName().equalsIgnoreCase("MOBILE") && ni.isConnected())
       {
            Toast.makeText(getApplicationContext(), "Connected to Internet with 3G", Toast.LENGTH_LONG).show();
       }
   }

Ответы [ 2 ]

4 голосов
/ 05 марта 2012

я должен специально выбрать, что это должен быть WIFI или мобильный (3G) Интернет в ситуации, когда оба доступны

ОС справляется с этим. Если есть известная и настроенная точка доступа WiFi, Android будет использовать ее.

Что еще более важно, вы не можете"выбрать" его самостоятельно. Вы получаете то, что дает ОС.

2 голосов
/ 03 апреля 2012

ОС справляется с этим. Если есть известная и настроенная точка доступа WiFi, Android будет использовать ее.

Это правда. Я просто хотел проверить это, запустив ваш код, поэтому я сделал это, и результаты:

Шаги:

  1. Убедитесь, что Wi-Fi включен и подключен.
  2. Убедитесь, что сеть Mobile (3G) включена.
  3. Выполните ваш код выше

Результаты: андроид выбирает wifi вместо мобильного (3g)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...