【移動應用開發(fā)技術】Android中如何監(jiān)聽網(wǎng)絡狀態(tài)_第1頁
【移動應用開發(fā)技術】Android中如何監(jiān)聽網(wǎng)絡狀態(tài)_第2頁
【移動應用開發(fā)技術】Android中如何監(jiān)聽網(wǎng)絡狀態(tài)_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

【移動應用開發(fā)技術】Android中如何監(jiān)聽網(wǎng)絡狀態(tài)

這期內(nèi)容當中在下將會給大家?guī)碛嘘PAndroid中如何監(jiān)聽網(wǎng)絡狀態(tài),文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。一.加入網(wǎng)絡權限獲取網(wǎng)絡信息需要在AndroidManifest.xml文件中加入相應的權限。<uses-permission

Android:name="android.permission.ACCESS_NETWORK_STATE"

/>二.判斷手機網(wǎng)絡的幾個方案1)判斷是否有網(wǎng)絡連接public

boolean

isMobileConnected(Context

context)

{

if

(context

!=

null)

{

ConnectivityManager

mConnectivityManager

=

(ConnectivityManager)

context

.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo

mMobileNetworkInfo

=

mConnectivityManager

.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

if

(mMobileNetworkInfo

!=

null)

{

return

mMobileNetworkInfo.isAvailable();

}

}

return

false;

}2)判斷WIFI網(wǎng)絡是否可用public

boolean

isWifiConnected(Context

context)

{

if

(context

!=

null)

{

ConnectivityManager

mConnectivityManager

=

(ConnectivityManager)

context

.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo

mWiFiNetworkInfo

=

mConnectivityManager

.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

if

(mWiFiNetworkInfo

!=

null)

{

return

mWiFiNetworkInfo.isAvailable();

}

}

return

false;

}

4)獲取當前網(wǎng)絡連接的類型信息public

static

int

getConnectedType(Context

context)

{

if

(context

!=

null)

{

ConnectivityManager

mConnectivityManager

=

(ConnectivityManager)

context

.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo

mNetworkInfo

=

mConnectivityManager.getActiveNetworkInfo();

if

(mNetworkInfo

!=

null

&&

mNetworkInfo.isAvailable())

{

return

mNetworkInfo.getType();

}

}

return

-1;

}在開發(fā)android應用時,涉及到要進行網(wǎng)絡訪問,時常需要進行網(wǎng)絡狀態(tài)的檢查,以提供給用戶必要的提醒。一般可以通過ConnectivityManager來完成該工作。ConnectivityManager有四個主要任務:1、監(jiān)聽手機網(wǎng)絡狀態(tài)(包括GPRS,WIFI,UMTS等)2、手機狀態(tài)發(fā)生改變時,發(fā)送廣播3、當一個網(wǎng)絡連接失敗時進行故障切換4、為應用程序提供可以獲取可用網(wǎng)絡的高精度和粗糙的狀態(tài)當我們要在程序中監(jiān)聽網(wǎng)絡狀態(tài)時,只要一下幾個步驟即可:1、定義一個Receiver重載其中的onReceive函數(shù),在其中完成所需要的功能,如根據(jù)WIFI和GPRS是否斷開來改變空間的外觀connectionReceiver

=

new

BroadcastReceiver()

{

@Override

public

void

onReceive(Context

context,

Intent

intent)

{

ConnectivityManager

connectMgr

=

(ConnectivityManager)

getSystemService(CONNECTIVITY_SERVICE);

NetworkInfo

mobNetInfo

=

connectMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

NetworkInfo

wifiNetInfo

=

connectMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

if

(!mobNetInfo.isConnected()

&&

!wifiNetInfo.isConnected())

{

Log.i(TAG,

"unconnect");

//

unconnect

network

這時提示用戶網(wǎng)絡斷開信息

}else

{

//

connect

network

可以做一些網(wǎng)絡請求,刷新界面

}

}

};2、在適當?shù)牡胤阶訰eceiver,可以在程序中注冊,在onCreate中調(diào)用如下函數(shù)即可IntentFilter

intentFilter

=

new

IntentFilter();

intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);

registerReceiver(connectionReceiver,

i

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論