導航:首頁 > 手機網路 > 監聽手機網路狀態

監聽手機網路狀態

發布時間:2024-12-27 17:19:04

⑴ Android 超簡單實現網路狀態的監聽

我們做項目的時候,不可避免的要做網路狀態的監聽,一般我們都是抽取出一個工具類來實現,比如:

細致的你當然還會再寫一個判斷網路類型的方法,反手再來一個例:

然後就可以在相應的操作前進行判斷網路的判斷:

但是這樣做也有些問題:

接下來就是本文的重點,如何通過 NetStatusBus 這個庫來解決以上問題,讓你的網路狀態監聽變得前所未有的簡單粗暴。

到這里就已經結束了,你的所有網路操作已經都可以清晰優雅的在訂閱方法中進行處理了,當然你也可以繼續往下看。

訂閱方法必須填寫一個NetType參數,可以通過NetType的值來判斷當前網路類型。

@NetSubscribe中 netType為可選值,可以設置訂閱的類型,可選值類型如下:

NetType.AUTO

這是默認值,任何網路狀態發生變化,該類型訂閱者都會被回調。同時會傳入NetType參數告知你當前的網路類型,示例如下:

只要當前是由 WIFI 改變引發的網路狀態變化,該類型訂閱者都會被回調。同時會傳入NetType參數告知你當前的網路類型,示例如下:

只要當前是由移動網路改變引發的網路狀態變化,該類型訂閱者都會被回調。同時會傳入NetType參數告知你當前的網路類型,示例如下:

NetType.NONE

只有當網路丟失時,該類型訂閱者才會被回調。

有人會覺得,我用個庫爽就行了管它的原理干什麼

你放心,我只是小小的描述一下實現方式。

原理簡單來說,就是在全局初始化的時候就綁定對網路的變化監聽。然後將進行注冊的父類所有的訂閱方法保存至集合中,這里涉及到一些方法的校驗,最後在網路狀態發生改變時利用 Java 反射機制遍歷執行所有訂閱方法。熟悉 EventBus 的小夥伴已經看出來了這里借鑒了一小部分 EventBus 的思想。

回到第一步,那麼具體是如何綁定對網路狀態變化的監聽呢?

以前我們是通過注冊廣播來實現綁定網路變更的監聽,在Android 7.0 以後,Google 基於性能和安全原因對廣播進行了很多限制,比如監聽網路變更的廣播 android.net.conn.CONNECTIVITY_CHANGE 使用靜態注冊的方式則無法生效,而動態注冊的方式雖然可以生效但畢竟不是最優解。

同樣出於性能和安全,以及擁抱變化的角度,最終我們還是使用官方推薦的方式,利用 ConnectivityManager.NetworkCallback 來進行網路變化的監聽,這是在Android 5.0即android api 21推出的API,目前Android 5.0以上的市場佔有率在 85%以上,隨著國內各大廠商正在積極的推進適配普及Android Q,這個比例還會進一步增大,所以個人人認為無需過於擔心低版本適配。

使用的時候出現這個問題是由於少添加了許可權。

Caused by: java.lang.SecurityException: ConnectivityService: Neither user 10513 nor current process has android.permission.ACCESS_NETWORK_STATE.

java.lang.RuntimeException: Unable to create application com.jiyun.wanandroid.WanApplication: java.lang.SecurityException: ConnectivityService: Neither user 10513 nor current process has android.permission.ACCESS_NETWORK_STATE.

加上這幾個許可權就好了:

附上原文地址: https://www.jianshu.com/p/2fea980b3e56

閱讀全文

與監聽手機網路狀態相關的資料

熱點內容
悅盒連接無線網路 瀏覽:166
中國電信改移動網路 瀏覽:288
如果網線沒接好網路會出什麼問題 瀏覽:590
疫情期間網路異常活躍 瀏覽:844
網路打車平台投訴找哪個部門 瀏覽:682
搶單軟體顯示網路異常是咋回事 瀏覽:787
網路分析儀測量相位校準設置 瀏覽:256
mp3電腦傳歌需要網路嗎 瀏覽:29
不能拉黑的網路電話哪個好 瀏覽:264
周口下樓無線網路管理中心 瀏覽:696
網路欺詐金額多少錢才能立案 瀏覽:746
如何做一張網路虛擬電話卡 瀏覽:46
如何打開共享網路搜索 瀏覽:29
如何看待網路的普及和危害 瀏覽:537
蘋果xr玩游戲網路卡頓 瀏覽:368
邢台淘寶網路運營電話多少 瀏覽:540
手機的網路經常斷開 瀏覽:576
黑鯊手機wifi網路連接受限 瀏覽:362
怎麼查看同一網路下的其他電腦 瀏覽:73
網路核相儀公司有哪些 瀏覽:177

友情鏈接