Android APP如何獲取裝置網線插拔的狀態

瓜的呱發表於2024-11-01

我們的Android裝置終端是支援有線接入的,現在有個需求是查詢裝置是否接入有線,查了下Android標準API沒有找到查詢有線接入與否的方法。後來與做系統的同事溝通,他告訴我可以透過

cat /sys/class/net/eth0/operstate

命令獲取,UP表示接入,DOWN表示未接入。
然後順便擴充套件查詢了下相關資料

在openwrt系統中,/sys/class/net/eth0資料夾的內容涉及到eth0網路卡的資訊。其中,eth0是指系統中的第一個乙太網網路卡。

該資料夾下的內容如下:

address:該檔案包含乙太網網路卡的MAC地址。

broadcast:該檔案包含當前乙太網網路卡的廣播地址。

carrier:該檔案用於檢測當前乙太網網路卡是否連線到了物理網路。可以透過讀取該檔案,判斷網路卡是否處於活動狀態。

dev_id:該檔案包含當前乙太網網路卡的唯一裝置ID。

dev_port:該檔案包含當前乙太網網路卡的埠號。

duplex:該檔案用於獲取當前乙太網網路卡的雙工模式(全雙工/半雙工)。

flags:該檔案包含乙太網網路卡當前的標誌位資訊。

ifalias:該檔案包含當前乙太網網路卡的別名(如果有)。

ifindex:該檔案包含當前乙太網網路卡在系統中的索引號。

iflink:該檔案包含當前乙太網網路卡對應的網路裝置檔案的裝置號。

link_mode:該檔案包含當前乙太網網路卡的連線模式(如:10/100/1000 Mbps)。

mtu:該檔案包含當前乙太網網路卡的最大傳輸單元(MTU)大小。

netdev_group:該檔案表示乙太網網路卡所屬的網路組。

operstate:該檔案包含乙太網網路卡的執行狀態資訊(如:UP表示網路卡已連線)。

phys_port_name:該檔案包含連線到乙太網網路卡的物理埠名稱。

總之,/sys/class/net/eth0資料夾下的所有檔案都與乙太網網路卡的硬體、配置和連線狀態相關聯,可以透過讀取這些檔案獲取有關乙太網網路卡的資訊。

另一個賬號 https://www.jianshu.com/u/d205eecfb809

相關文章