Androidがネットワーク接続状態を判断

3453 ワード

package com.apicloud.A699.utils;

import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;

/**
 * Created by Administrator on 2015/9/24.
 */
public class NetTools {

    /**
     *           
     *
     */

    public static boolean isNetworkAvailable(Context activity)
    {
        Context context = activity.getApplicationContext();
        //             (   wi-fi,net      )
        ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);

        if (connectivityManager == null)
        {
            return false;
        }
        else
        {
            //   NetworkInfo  
            NetworkInfo[] networkInfo = connectivityManager.getAllNetworkInfo();

            if (networkInfo != null && networkInfo.length > 0)
            {
                for (int i = 0; i < networkInfo.length; i++)
                {
                    //                
                    if (networkInfo[i].getState() == NetworkInfo.State.CONNECTED)
                    {
                        return true;
                    }
                }
            }
        }
        return false;
    }
}