您的位置:首页 > 理论基础 > 计算机网络

Android网络连接类型

2015-02-26 11:07 141 查看
 网络连接类型 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(); 

/*5种联网类型*/

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);  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: