這個類主要用來查詢判斷網路連接資訊。
ConnectivityManager cm = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
NetworkInfo getActiveNetworkInfo() 擷取現在正串連的網路資訊,沒任何網路連接會返回null。
NetworkInfo[] getAllNetworkInfo() 擷取機器能支援的所有網路資訊。
NetworkInfo getNetworkInfo(int networkType)擷取某一類型的網路資訊
android.net.NetworkInfo類,
boolean isAvailable() 網路是否可用(比如Wifi的Info,Wifi關閉時為false)
int getType() 得到這個資訊類對應的網路類型,int值對應ConnectivityManager 中的欄位
String getTypeName() 得到網路類型名,比如 “WIFI”。
boolean isConnected() 判斷網路是否串連
boolean isConnectedOrConnecting() 是否已串連或者正在串連
NetworkInfo.State getState() 得到網路的狀態
NetworkInfo.DetailedState getDetailedState() 與上方法的區別在於這個方法得到更詳細的資訊。
android.net.NetworkInfo.State 是個枚舉類,裡面有已串連、正在串連、無串連及正在關閉串連等。
判斷網路是否串連上:
ConnectivityManager connectivityManager = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo(); if(networkInfo == null || !networkInfo.isConnected()){}