新建一個(gè)類繼承BroadcastReceiver,用于接收廣播,并作相應(yīng)的處理
class NetChangeReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (action.equals(ConnectivityManager.CONNECTIVITY_ACTION)) { System.out.println("網(wǎng)絡(luò)狀態(tài)更改"); }else if (action.equals(EthernetManager.ETHERNET_STATE_CHANGED_ACTION)) { System.out.println("網(wǎng)線狀態(tài)更改"); } } }
在AndroidMenifest.xml的<application></application>標(biāo)簽中注冊廣播接收過濾條件
<!-- 網(wǎng)絡(luò)更改廣播 --> <receiver android:name="com.coship.entropic.factorytest.receiver.NetChangeReceiver"> <intent-filter> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> </intent-filter> </receiver> <!-- 網(wǎng)線狀態(tài)改變廣播 --> <receiver android:name="com.coship.entropic.factorytest.receiver.NetChangeReceiver"> <intent-filter> <action android:name="android.net.ethernet.ETHERNET_STATE_CHANGED" /> </intent-filter> </receiver>
接收廣播只需要以上兩個(gè)步驟,當(dāng)然還需要配置權(quán)限
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
完成之后,上面的兩個(gè)System.out.println();輸出內(nèi)容在控制臺是看不到的,因?yàn)榫W(wǎng)絡(luò)狀態(tài)更改會導(dǎo)致android設(shè)備與電腦的連接斷開,故而控制臺不會有輸出。如果要測試是否能夠接收到廣播,可以采用其他方式檢測,比如
handler.sendEmptyMessage(0);
通知界面彈出信息提示,或者直接打印到屏幕上顯示
上面的內(nèi)容網(wǎng)上很多資料,僅僅一個(gè)需要指出的是
<action android:name="android.net.ethernet.ETHERNET_STATE_CHANGED" />
由于這個(gè)用的比較少,所以網(wǎng)上的資料也很少。下面羅列一下有線連接相關(guān)的ACTION
ConnectivityManager.CONNECTIVITY_ACTION //網(wǎng)絡(luò)狀態(tài)更改 //對應(yīng)action.equals(ConnectivityManager.CONNECTIVITY_ACTION) EthernetManager.ETHERNET_START_INTERFACE_ACTION EthernetManager.ETHERNET_STATE_CHANGED_ACTION EthernetManager.ETHERNET_STOP_INTERFACE_ACTION EthernetManager.NETWORK_CONNECTED_ACTION EthernetManager.NETWORK_DISCONNECTED_ACTION EthernetManager.NETWORK_STATE_CHANGED_ACTION //網(wǎng)線狀態(tài)更改 //對應(yīng)action.equals(EthernetManager.ETHERNET_STATE_CHANGED_ACTION) //可以相應(yīng)網(wǎng)線的熱插拔事件
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
本文標(biāo)題:Android網(wǎng)絡(luò)連接相關(guān)廣播-創(chuàng)新互聯(lián)
鏈接分享:http://www.chinadenli.net/article8/igpop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、網(wǎng)站營銷、虛擬主機(jī)、App開發(fā)、手機(jī)網(wǎng)站建設(shè)、動(dòng)態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容