Android: как выполнить Url Request через Wifi - PullRequest
0 голосов
/ 14 декабря 2010

есть ли возможность явно использовать Wi-Fi-соединение для выполнения Http-URL-запросов?На самом деле мне просто нужно знать, возможно ли подключение к интернету (например, доступ к google.com) через wifi.(не через 2g / 3g / ..)

Ответы [ 3 ]

2 голосов
/ 15 декабря 2010

Вы можете найти это полезным:

public class ConnectivityHelper {

    public static boolean isWiFiNetworkConnected(Context context) {
        return getWiFiNetworkInfo(context).isConnected();
    }

    private static NetworkInfo getWiFiNetworkInfo(Context context) {
        return getConnectivityManager(context).getNetworkInfo(ConnectivityManager.TYPE_WIFI);
    }

    private static ConnectivityManager getConnectivityManager(Context context) {
        return (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    }
}
2 голосов
/ 15 декабря 2010

Насколько я знаю, нет. Это все отвлечено от нас платформой.

Но вы можете проверить, доступен ли WIFI:

        ConnectivityManager conMan = (ConnectivityManager) 
            getSystemService(Context.CONNECTIVITY_SERVICE);
        if(conMan!=null){
            try {
                NetworkInfo[] networkInfos = conMan.getAllNetworkInfo();
                for(NetworkInfo ni : networkInfos){
                    if(ni.isAvailable() && ni.isConnected() && ni.getTypeName().equals("WIFI")){
                        result = true;
                        break;
                    }
                }
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }               
        }
1 голос
/ 15 декабря 2010

Я не сделал этого, поэтому я не уверен, но я нашел это, просматривая документацию.

public boolean wifiAvailable() {
        ConnectivityManager connMgr = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo info = connMgr.getActiveNetworkInfo();
        if((info.isAvailable() && info.isConnected() && (info.getType()==ConnectivityManager.TYPE_WIFI))) return true;
        return false;
    }

Где вы собираетесь запустить запрос, оцените этот метод, если он возвращает trueсистема будет автоматически использовать WiFi, Android всегда будет использовать Wi-Fi через 3G / 2G, если доступно AFAIK.

...