【Android】Android 監聽網路狀態+原始碼

來源:互聯網
上載者:User

想要擷取Android的連網事件

首先要 註冊Receiver

<receiver   android:name="com.ray.ray.receiver.ConnectionChangeReceiver"   android:label="NetworkConnection" >   <intent-filter>        <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />        <action android:name="android.intent.action.USER_PRESENT" />   </intent-filter></receiver>

網路狀態發生變化的時候,系統會發出 android.net.conn.CONNECTIVITY_CHANGE 廣播

手機解鎖動作的時候,系統會發出android.intent.action.USER_PRESENT 廣播,我這裡為了在解鎖手機時擷取到,所以添加上手機解鎖事件廣播。

註冊Receiver後,就可以在ConnctionChangeReceiver中接收到網路狀態變化和手機解鎖動作的廣播

其次,我們處理接收到的廣播,實現方法如下,在onReceive中添加網路狀態判斷

ConnectivityManager connectMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);NetworkInfo mobNetInfo = connectMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);NetworkInfo wifiNetInfo = connectMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

ConnectivityManager 擷取當前系統服務資訊
getNetworkInfo 分別擷取 類型為MOBILE和WIFI兩種連網方式的資訊。

通過判斷mobNetInfo.isConnected() 和 wifiNetInfo.isConnected() 返回的Boolean 布爾值來確定當前連網狀態。

if (!mobNetInfo.isConnected() && !wifiNetInfo.isConnected()) {// unconnect network} else {// connect network}

這裡只添加了當前是否串連網路,如果需要區分是資料還是WIFI串連,可以分別判斷。

這裡要注意,添加Android permission 存取權限 

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

 

以上就是Android 監聽網路狀態的代碼實現過程

需要擷取原始碼的朋友,可以通過下面兩種方式擷取

(1) http://download.csdn.net/detail/fnext/5228714

(2)請在評論中填寫郵件地址,會通過郵箱發送源碼。

 

//////////////////////////////////////////////

原創聲明 轉載請註明

本文出自 Ray-Ray的部落格

文章地址 http://www.cnblogs.com/rayray/archive/2013/03/25/2965474.html 

感謝大家的推薦和收藏

你的支援! 我們的動力!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.