1

これで、デバイスがwifiに接続されているかどうかを確認できます。

public boolean isOnline() {
    ConnectivityManager cm = (ConnectivityManager) activity
            .getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo netInfo = cm.getActiveNetworkInfo();

    if (netInfo != null && netInfo.isConnectedOrConnecting()) {
        return true;
    }
    return false;
}

ただし、Pingなどのwifi接続速度を確認したい。このping番号に基づいて、いくつかの変数を設定したいと思います。このようなもの、

public int internetspeed(){
    checking...
    return speed;
}

誰かがチュートリアルや例を教えてくれますか?

4

3 に答える 3

3

このスニペットはあなたのために仕事をします

    WifiManager wifiManager = Context.getSystemService(Context.WIFI_SERVICE);
    WifiInfo wifiInfo = wifiManager.getConnectionInfo();
    if (wifiInfo != null) {
        Integer linkSpeed = wifiInfo.getLinkSpeed(); //measured using WifiInfo.LINK_SPEED_UNITS
    }
于 2012-05-10T07:20:47.593 に答える
0

バックグラウンドでファイルをダウンロードし、1 秒あたりのデータを測定します。

于 2012-05-10T06:57:00.427 に答える
0

これは、接続をテストするために使用する完全なクラスです。ping の問題については、私のコメントを参照してください。

public class InternetCheck {

    Context mContext;
     public InternetCheck(Context mContext){
           this.mContext = mContext;
      }


    // CHECK FOR INTERNET METHOD
    public final boolean isInternetOn() {
        ConnectivityManager connec = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
        // ARE WE CONNECTED TO THE NET
        if (connec.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTED
                || connec.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTING
                || connec.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTING
                || connec.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTED) {
            return true;
        } else if (connec.getNetworkInfo(0).getState() == NetworkInfo.State.DISCONNECTED
                || connec.getNetworkInfo(1).getState() == NetworkInfo.State.DISCONNECTED) {
            return false;
        }
        return false;
    }

}
于 2012-05-10T07:03:11.220 に答える