Android使用ReactiveNetwork監聽網絡連通性

  1. 引入庫
implementation 'com.github.pwittchen:reactivenetwork-rx2:3.0.8'
  1. 監聽網絡連接變更
        ReactiveNetwork.observeNetworkConnectivity(context).subscribeOn(Schedulers.io())// ... // anything else what you can do with RxJava.observeOn(Schedulers.computation()).subscribe { connectivity: Connectivity ->// do something with connectivity// you can call connectivity.state();// connectivity.type(); or connectivity.toString();Log.i(TAG, "onRecv1 connectInfo: $connectivity")}

它會持續監聽網絡連接的變動,直到調用 dispose()接口。

  1. 監聽服務器連通性
        val settings = InternetObservingSettings.builder().host("http://connectivitycheck.platform.hicloud.com/generate_204").build()ReactiveNetwork.observeInternetConnectivity(settings).subscribeOn(Schedulers.io())// ... // anything else what you can do with RxJava.observeOn(Schedulers.computation()).subscribe { isConnectedToInternet ->Log.i(TAG, "onRecv2(generate_204) isconnect: $isConnectedToInternet")}
  • 如果使用默認的 InternetObservingSettings, 它會定時2秒檢測google服務器的204接口,在大陸是連接不了了。幸好還有很多互聯網公司也提供了這樣的204接口,這里連接華為的 generate_204 接口。

  • 為什么要這樣判斷呢,因為很多公共wifi,雖然是連接上了,但是訪問網絡其實是訪問不了,還需要經過認證后才能訪問。

  • 現在能快速檢測到網絡連通性了,下一步怎樣才能檢測網絡的延時呢?不知道有沒有簡單易用的接口。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/96292.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/96292.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/96292.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

基于阿里云部署 RustDesk 自托管服務器

基于阿里云部署 RustDesk 自托管服務器一、背景與需求場景二、什么是 RustDesk?為什么選擇自托管?2.1 RustDesk 是什么?2.2 為什么選擇自托管?三、環境準備與架構說明四、操作步驟4.1 在阿里云上安裝 RustDesk 服務端4.1.1 下載并…

細說分布式ID

針對高并發寫,分布式ID是其業務基礎,本文從一個面試題細細展開。面試官:1.對于Mysql的InnoDB引擎下,自增ID和UUID作為主鍵各自有什么優劣,對于一張表的主鍵你建議使用哪種ID?2.除了UUID是否還了解其他類型的…

2025年大數據專業證書報考指南:專科學歷必看的8大選擇?

對于大專學歷的同學來說,2025年進入大數據行業是一個充滿機遇的選擇。大數據領域發展迅速,各類證書能夠幫助求職者提升專業能力、增強就業競爭力。其中最推薦的是CDA數據分析師,這個證書適應了未來數字化經濟和AI發展趨勢,難度不高…

Python爬蟲實戰:研究Axis Artist模塊,構建電商數據采集和分析系統

1. 引言 1.1 研究背景與意義 在大數據時代,互聯網上蘊藏著海量有價值的信息,這些信息涵蓋了社會、經濟、科技等各個領域。高效地從互聯網獲取數據并進行深度分析,對于企業決策、學術研究、市場分析等都具有重要意義。Python 作為一種功能強大的編程語言,憑借其豐富的庫支…

突破大語言模型推理瓶頸:深度解析依賴關系與優化策略

突破大語言模型推理瓶頸:深度解析依賴關系與優化策略當ChatGPT需要5秒才能生成一個回答,當企業級大模型每秒只能處理3個用戶請求——這些性能瓶頸的背后,隱藏著大語言模型推理計算中復雜的依賴關系網。在大語言模型推理過程中,依賴…

整理了幾道前端面試題

1. 若是有兩個數組ar1和ar2,求它們的并集和交集,要怎么做? const ar1 [1, 2, 3, 4]; const ar2 [3, 4, 5, 6];一、求并集 (Union) 目標: 把兩個數組合并成一個新數組,新數組包含所有出現過的元素,但每個…

Mac M4環境下基于VMware Fusion虛擬機安裝Ubuntu24.04 LTS ARM版

Mac M4環境下基于VMware Fusion虛擬機安裝Ubuntu24.04 LTS ARM版 1 下載Ubuntu鏡像 在Ubuntu官網下載Ubuntu24.04 LTS的arm版鏡像,這里選擇ubuntu-24.04-live-server-arm64.iso,支持arm的似乎沒有合適的desktop版本,Server版本默認是不帶圖…

開源與定制化對比:哪種在線教育系統源碼更適合教育培訓APP開發?

如今,“在線教育系統源碼”已經成為許多教育培訓機構、創業者甚至傳統學校的高頻關鍵詞。無論是打造一款在線教育APP,還是開發企業內部培訓平臺,源碼選擇都決定了后續的開發效率、產品體驗與商業化潛力。 在實際開發中,常見的源碼…

中間件的日志分析

將日志文件access.log復制到kali中進行分析使用命令查看文件中各IP的訪問次數,依次分析其行為awk { print $1 } access.log | sort | uniq -c |sort -nr172.16.3.189cat access.log | grep 172.16.3.198行為模式分析使用固定弱密碼進行身份驗證 幾乎所有請求都使用用…

【Big Data】云原生與AI時代的存儲基石 Apache Ozone 的技術演進路徑

目錄 一、Apache Ozone是什么? 二、Ozone的誕生背景 三、Ozone的架構設計 1. 分層架構設計 2. Ozone Manager (OM) 3. Storage Container Manager (SCM) 4. DataNode 5. Raft協議應用 四、Ozone解決的關鍵問題 1. 元數據管理瓶頸 2. 小文件性能問題 3. …

抖音直播禮物彈幕抓取工具:技術實現與功能解析

基于Python的直播間數據采集技術實踐一、項目概述基于Python開發的直播間數據采集方案,采用最新簽名算法(dysign)實現穩定連接,實時獲取直播間各類互動數據,為直播數據分析和互動應用開發提供技術支持。二、核心功能實時消息監控用戶進入提醒…

添加地址頁面,可以添加復制粘貼,自動識別地址的功能uniapp實現方式

主要用uni.getClipboardData(OBJECT),更多信息可以到uniapp官網查看以下實現方式 1利用api, 2針對判斷優化方案,在線APIhandleConfirm2(){let that this;promisRequest({url: https://wangzc.wang/smAddress,data: {"address": that.…

ESP32 驅動 PWM 舵機為什么必須共地?——從原理到實踐全解析

在使用 ESP32 控制 PWM 舵機 的過程中,新手經常遇到一個常見問題:舵機不動、亂動、甚至燒壞芯片。 其中最典型的原因,就是沒有正確共地。 很多初學者會疑惑:“外接電池只是給舵機供電,為什么還要把電池的地線接到 ESP32 的 GND 上呢?” 本文將從 信號邏輯、閉合回路、…

細菌基因組genome二代測序數據分析

kraken2去除污染conda create -n kraken2 conda activate kraken2 conda install kraken2 -c bioconda mkdir kraken2_outputkraken2 --db ../../kraken2_db/k2_pluspf_20250402/ --threads 8 --paired 250811_HS67EV0804_R1.fastq.gz 250811_HS67EV0804_R2.fastq.gz --use-nam…

工業網絡架構的未來:智慧化工廠中的低延遲與高可靠性設計

1. 引言工業網絡正經歷從傳統有線到無線、從低速到高速的全面升級。某鋁箔智慧工廠專注于新能源鋁箔的生產,依賴低延遲、高可靠的網絡支持實現生產控制與智能管理。本文將探討某鋁箔智慧工廠網絡架構設計的關鍵點及其實施策略。2. 某鋁箔智慧工廠的網絡挑戰多終端接…

Android14 init.rc中on boot階段操作4

Android14 init.rc中on early-init, init, late-init, early-fs, post-fs階段詳解1 Android14 init.rc的on late-fs, post-fs-data階段主要操作詳解2 Android14 init.rc中啟動Zygote詳解3 Android14 init.rc中on boot階段操作4 1 on boot和低內存設備的啟動優化 僅在ro.con…

CodeSandbox Desktop:零配置項目啟動工具,實現項目環境隔離與Github無縫同步

你有沒有過為了跑一個簡單的 Demo,花半小時配置環境還失敗的經歷?比如想測試一個 Vue3 組件,先裝 Node.js,結果版本太高和項目依賴不兼容;換低版本又提示 “找不到 python 環境”;好不容易裝完依賴&#xf…

人工智能-python-深度學習-經典神經網絡AlexNet

AlexNet(詳解)——從原理到 PyTorch 實現(含訓練示例) 文章目錄AlexNet(詳解)——從原理到 PyTorch 實現(含訓練示例)1. 發展歷史與比賽成績2. AlexNet 的核心思想(一句話…

《sklearn機器學習——指標和評分1》

3個不同的API可供評估模型預測質量: 評估器評分方法:評估器有一個score方法,它給計劃解決的問題提供一個初始評估標準。這部分內容不在這里討論,但會出現在每一個評估器的文件中。 評分參數:使用交叉驗證(…

人工智能中的線性代數總結--簡單篇

numpy庫中的dot函數來計算矩陣和向量的點積def matrix_vector_dot_product(a, b):import numpy as npif (len(a[0]) ! len(b)):return -1# 使用tolist()將結果轉換為列表return np.dot(a, b).tolist()原始方法def matrix_vector_dot_product(matrix, vector):if len(matrix[0])…