<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆雜記

       :: 首頁 :: 新隨筆 ::  ::  :: 管理 ::

    public class NetworkConnectChangedReceiver extends BroadcastReceiver{  
        @Override  
        public void onReceive(Context context, Intent intent) {  
        if (WifiManager.WIFI_STATE_CHANGED_ACTION.equals(intent.getAction())) {//這個監聽wifi的打開與關閉,與wifi的連接無關  
                int wifiState = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, 0);   
                LogTag.showTAG_e("WIFI狀態", "wifiState"+wifiState);  
                switch (wifiState) {   
                case WifiManager.WIFI_STATE_DISABLED:   
                    break;   
                case WifiManager.WIFI_STATE_DISABLING:   
                    break;   
               //  
                }   
            }  
        // 這個監聽wifi的連接狀態即是否連上了一個有效無線路由,當上邊廣播的狀態是WifiManager.WIFI_STATE_DISABLING,和WIFI_STATE_DISABLED的時候,根本不會接到這個廣播。  
        
    // 在上邊廣播接到廣播是WifiManager.WIFI_STATE_ENABLED狀態的同時也會接到這個廣播,當然剛打開wifi肯定還沒有連接到有效的無線  
        if (WifiManager.NETWORK_STATE_CHANGED_ACTION.equals(intent.getAction())) {  
                Parcelable parcelableExtra = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);    
                if (null != parcelableExtra) {    
                    NetworkInfo networkInfo = (NetworkInfo) parcelableExtra;    
                    State state = networkInfo.getState();  
                    boolean isConnected = state==State.CONNECTED;//當然,這邊可以更精確的確定狀態  
                    LogTag.showTAG_e(this.getClass().getSimpleName(), "isConnected"+isConnected);  
                    if(isConnected){  
                    }else{  
                          
                    }  
                }    
            }  
        //這個監聽網絡連接的設置,包括wifi和移動數據的打開和關閉。.   
            
    //最好用的還是這個監聽。wifi如果打開,關閉,以及連接上可用的連接都會接到監聽。見log  
            
    // 這個廣播的最大弊端是比上邊兩個廣播的反應要慢,如果只是要監聽wifi,我覺得還是用上邊兩個配合比較合適  
        if(ConnectivityManager.CONNECTIVITY_ACTION.equals(intent.getAction())){  
            NetworkInfo info = intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO);  
            if (info != null) {  
                LogTag.showTAG_e("CONNECTIVITY_ACTION", "info.getTypeName()"+info.getTypeName());  
                LogTag.showTAG_e("CONNECTIVITY_ACTION", "getSubtypeName()"+info.getSubtypeName());  
                LogTag.showTAG_e("CONNECTIVITY_ACTION", "getState()"+info.getState());  
                LogTag.showTAG_e("CONNECTIVITY_ACTION",  
                                    "getDetailedState()"+info.getDetailedState().name());  
                LogTag.showTAG_e("CONNECTIVITY_ACTION", "getDetailedState()"+info.getExtraInfo());  
                LogTag.showTAG_e("CONNECTIVITY_ACTION", "getType()"+info.getType());  
            }   
        }  

    if (WifiManager.NETWORK_STATE_CHANGED_ACTION.equals(intent.getAction())) {// 這個監聽wifi的連接狀態  
               Parcelable parcelableExtra = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);    
               if (null != parcelableExtra) {    
                   NetworkInfo networkInfo = (NetworkInfo) parcelableExtra;    
                   State state = networkInfo.getState();  
                   if(state==State.CONNECTED){  
                    showWifiCconnected(context);  
                   }  
                   /**else if(state==State.DISCONNECTED){ 
                    showWifiDisconnected(context); 
                   }
    *///昨天寫的這個方法,在坐地鐵的時候發現,如果地鐵上有無效的wifi站點,手機會自動連接,但是連接失敗后還是會接到廣播,所以不能用了  
               }    
           }  
    if(ConnectivityManager.CONNECTIVITY_ACTION.equals(intent.getAction())){//這個監聽網絡連接的設置,包括wifi和移動數據 的打開和關閉  
    NetworkInfo info = intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO);  
    if (info != null) {  
        if(NetworkInfo.State.CONNECTED==info.getState()){  
            Intent pushIntent = new Intent();  
            pushIntent.setClass(context, NotificationService.class);  
        }else if(info.getType()==1){  
                if(NetworkInfo.State.DISCONNECTING==info.getState())  
                    showWifiDisconnected(context);  
            }  
        }   
    }  
           }  
    posted on 2012-09-17 11:56 天宇恒星 閱讀(21895) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲男女内射在线播放| 最近免费最新高清中文字幕韩国| 毛片免费观看的视频| 亚洲男人天堂影院| 69pao强力打造免费高清| 在线观看亚洲一区二区| 久久午夜免费视频| 亚洲人成电影网站免费| 日韩在线天堂免费观看| 亚洲va国产va天堂va久久| 中文字幕免费不卡二区| 78成人精品电影在线播放日韩精品电影一区亚洲 | 黄色免费在线观看网址| 亚洲色图综合在线| 男女作爱在线播放免费网站| 久久亚洲免费视频| 久久精品一本到99热免费| 亚洲AV永久青草无码精品| 又大又硬又爽又粗又快的视频免费| 久久久影院亚洲精品| 日韩视频在线精品视频免费观看| 91亚洲自偷在线观看国产馆| 女人被男人躁的女爽免费视频| 色婷婷亚洲一区二区三区| 中文字幕亚洲电影| 久久爰www免费人成| 久久夜色精品国产噜噜亚洲a| 国产精品色午夜视频免费看| 日韩毛片一区视频免费| 亚洲色图在线观看| 日本一道一区二区免费看| 国精产品一区一区三区免费视频| 亚洲成人一级电影| 亚洲av片一区二区三区| 日韩视频免费在线观看| 亚洲另类无码一区二区三区| 久久精品国产精品亚洲艾草网美妙| 亚洲免费人成在线视频观看| 亚洲综合中文字幕无线码| 中文亚洲成a人片在线观看| 日本免费人成在线网站|