確定和監視連接狀態

確定和監視連接狀態

重複報警和後臺服務的一些最常見的用途是安排互聯網資源,緩存中的數據,或執行長時間運行下載的應用程序數據的定期更新。但是,如果你沒有連接到互聯網,或者連接速度太慢,完成下載,爲什麼喚醒設備在所有計劃更新?

您可以使用ConnectivityManager檢查你實際上是連接到互聯網,如果是這樣,是什麼類型的連接的地方。

確定如果你有一個Internet連接


有沒有需要安排一個基於互聯網上的資源的更新,如果你沒有連接到互聯網。下面的代碼片斷演示瞭如何使用,ConnectivityManager 查詢活動的網絡,並確定它是否有互聯網連接。

ConnectivityManager cm =
        (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
 
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
boolean isConnected = activeNetwork.isConnectedOrConnecting();

確定您的Internet連接類型


它也可以檢測當前可用的互聯網連接的類型。

可以提供的數據,WiMAX,移動的Wi-Fi和以太網連接設備連接。通過活動的網絡查詢的類型,如下圖所示,你可以改變刷新率的基礎上的可用帶寬。

boolean isWiFi = activeNetwork.getType() == ConnectivityManager.TYPE_WIFI;

移動數據成本往往顯着高於無線網絡連接,所以在大多數情況下,您的應用程序的更新率應降低對移動連接的時候。同樣,下載的顯著尺寸應暫停,直到你有一個Wi-Fi連接。

使您的更新,這一點很重要,你聽,以恢復他們的互聯網連接已經建立的連接的更改。

顯示器的連接的更改


的的的ConnectivityManager廣播CONNECTIVITY_ACTION(的“android.net.conn.CONNECTIVITY_CHANGE” )連接的詳細信息時,已經改變了行動。聽這些變化和恢復(或暫停)後臺更新,你可以註冊一個廣播接收器,在您的清單。

<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>

更改設備的連接可以是非常頻繁的廣播觸發每次移動之間移動數據和無線網絡連接。因此,這是很好的做法,監控廣播只有當你先前暫停更新或下載,以恢復他們。一般就足夠簡單地檢查互聯網連接,在開始更新前,有沒有,暫時停止了進一步的更新,直到連接恢復。

這種技術需要切換廣播接收器,您已經declard的清單中的,這是在下一課中。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章