android 监听网络连接

    技术2025-04-11  38

     final TelephonyManager mTelephonyMgr = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);    

            mTelephonyMgr.listen(new PhoneStateListener(){  

     

                @Override  

                public void onDataConnectionStateChanged(int state) {  

                    switch(state){  

                        case TelephonyManager.DATA_DISCONNECTED://网络断开 

                         Toast.makeText(NetConnectActivity.this, "DISCONNECTED", Toast.LENGTH_SHORT).show();

                            break;  

                        case TelephonyManager.DATA_CONNECTING://网络正在连接  

                         Toast.makeText(NetConnectActivity.this, "CONNECTING", Toast.LENGTH_SHORT).show();

                            break;  

                        case TelephonyManager.DATA_CONNECTED://网络连接上  

                         Toast.makeText(NetConnectActivity.this, "CONNECTED", Toast.LENGTH_SHORT).show();

                            break;  

                    }  

                }  

     

                }, PhoneStateListener.LISTEN_DATA_CONNECTION_STATE);  

    判断网络连接的新方法

    class ConnectionChangeReceiver extends BroadcastReceiver{ @Override public void onReceive(Context arg0, Intent arg1) { // TODO Auto-generated method stub ConnectivityManager manager = (ConnectivityManager) arg0.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo moInfo = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); NetworkInfo wifiInfo = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); if(!moInfo.isConnected()&&!wifiInfo.isConnected()){ Toast.makeText(arg0, "duankai", 0).show(); serviceManager.stopService(); }else{ Toast.makeText(arg0, "连接", 0).show(); serviceManager.startService(); } }         }

    最新回复(0)