package com.diandi.demo.util; import android.content.Context; import android.content.Intent; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.net.Uri; import android.net.wifi.WifiManager; import com.diandi.demo.config.Constant; /** * ******************************************************************************* * ********* Author : klob(kloblic@gmail.com) . * ********* Date : 2014-11-29 . * ********* Time : 11:46 . * ********* Project name : Diandi1.18 . * ********* Version : 1.0 * ********* Copyright @ 2014, klob, All Rights Reserved * ******************************************************************************* */ public class NetworkUtil { /** * 返回网络是否可用。需要权限: * <p> * <b> < uses-permission * android:name="android.permission.ACCESS_NETWORK_STATE" /> </b> * </p> * * @param context 上下文 * @return 网络可用则返回true,否则返回false */ public static boolean isAvailable(Context context) { ConnectivityManager cm = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo info = cm.getActiveNetworkInfo(); return info != null && info.isAvailable(); } /** * 判断网络连接状态 * * @param context * @return */ public static String getNetType(Context context) { try { ConnectivityManager connectivity = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); if (connectivity != null) { NetworkInfo info = connectivity.getActiveNetworkInfo(); if (info != null && info.isConnected()) { if (info.getState() == NetworkInfo.State.CONNECTED) { if (info.getType() == ConnectivityManager.TYPE_WIFI) { // wifi return Constant.NETWORK_TYPE_WIFI; } else { // 手机网络 return Constant.NETWORK_TYPE_MOBILE; } } } } } catch (Exception e) { // 网络错误 return Constant.NETWORK_TYPE_ERROR; } // 网络错误 return Constant.NETWORK_TYPE_ERROR; } /** * 返回Wifi是否启用 * * @param context 上下文 * @return Wifi网络可用则返回true,否则返回false */ public static boolean isWIFIActivate(Context context) { return ((WifiManager) context.getSystemService(Context.WIFI_SERVICE)) .isWifiEnabled(); } /** * 修改Wifi状态 * * @param context 上下文 * @param status true为开启Wifi,false为关闭Wifi */ public static void changeWIFIStatus(Context context, boolean status) { ((WifiManager) context.getSystemService(Context.WIFI_SERVICE)) .setWifiEnabled(status); } public static void openLink(Context context) { Uri uri = Uri.parse(Constant.OFFICIAL_WEBSITE); Intent it = new Intent(Intent.ACTION_VIEW, uri); context.startActivity(it); } }