物理网络连接
有线连接
import android.net.ethernet.EthernetManager; EthernetManager mEthManager = ((EthernetManager) mContext.getSystemService(Context.ETHERNET_SERVICE)); if (mEthManager.getNetLinkStatus("eth0") == 1) { return true; }
无线连接
import android.net.wifi.WifiManager; WifiManager mWifiManager = (WifiManager) mContext.getSystemService(Context.WIFI_SERVICE); if(mWifiManager.isWifiEnabled()){ return true; }
逻辑网络连接
判断网络连接方式
EthernetManager mEthManager = ((EthernetManager) mContext.getSystemService(Context.ETHERNET_SERVICE)); String ethernetMode = mEthManager.getEthernetMode(); //pppoe dhcp ipoe wifi等
网络状态
ConnectivityManager manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo mNetworkInfo = manager.getActiveNetworkInfo(); if (mNetworkInfo != null && mNetworkInfo.isConnected()){ Log.d(TAG, "Network is active."); return true; } NetworkInfo[] infos = manager.getAllNetworkInfo(); if(infos != null) { for(int i = 0; i < infos.length; i++) { Log.d(TAG, "network info [" + i + "], type:" + infos[i].getType() + ", connected:" + infos[i].isConnected()); if(infos[i].isConnected()) { Log.d(TAG, "getAllNetworkInfo true."); return true; } } }
获取IP的方法
try { String mIP = mConnectivityManager .getLinkProperties(ConnectivityManager.TYPE_ETHERNET) .getAddresses().toString(); String[] arrIP = mIP.split("/|\\[|\\]| "); if (arrIP.length != 0) { String eth0IP = NetworkUtils.getIpaddr("eth0"); if (!eth0IP.isEmpty()) { Log.d(TAG, "eth0 IP: " + eth0IP); return true; } } } catch (NullPointerException e) { Log.w(TAG, "can not get IP" + e); return false; }