1 网络连接类型 ConnectivityManager
监听网络变化broadcat <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
ConnectivityManager connec = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo info = connec.getActiveNetworkInfo(); //倘若手机目前不在网络的服务范围,则connec.getActiveNetworkInfo()会返回null //NetworkInfo []allinfo= connec.getAllNetworkInfo(); String typeName = info.getTypeName(); //cmwap/cmnet/wifi/uniwap/uninet info.getTypeName(); // 以何种方式连线 [WIFI] info.getState(); // 连线状态 [CONNECTED] info.isAvailable(); // 网络是否可用 [true] info.isConnected(); // 网络是否已经连接 [true] info.isConnectedOrConnecting(); // 网络是否已经连接或者连接中 [true] info.isFailover(); // 网络是否有问题 [false] info.isRoaming(); // 网络是否在漫游中 [false] 需要加的权限: <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> 2 PhoneStateListener 很多应用PhoneStateListener都是监听来电去电,PhoneStateListener还可以监听网络断开、正在连接和连接成功。 final TelephonyManager mTelephonyMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); mTelephonyMgr.listen(new PhoneStateListener(){ @Override public void onDataConnectionStateChanged(int state) { switch(state){ case TelephonyManager.DATA_DISCONNECTED://网络断开 break; case TelephonyManager.DATA_CONNECTING://网络正在连接 break; case TelephonyManager.DATA_CONNECTED://网络连接上 break; } } }, PhoneStateListener.LISTEN_DATA_CONNECTION_STATE);
转载于:https://www.cnblogs.com/wangtianxj/archive/2011/04/21/2023619.html