0
我試圖從我的應用程序中找出WiFi是否正在使用; 在不僅僅是連接,但實際上目前正在下載或上傳。 Android(4.0+)似乎意識到這一點,因爲無線網絡圖標在傳輸數據時發生變化。任何方式來訪問這些信息?Android獲得wifi活動
在此先感謝。
我試圖從我的應用程序中找出WiFi是否正在使用; 在不僅僅是連接,但實際上目前正在下載或上傳。 Android(4.0+)似乎意識到這一點,因爲無線網絡圖標在傳輸數據時發生變化。任何方式來訪問這些信息?Android獲得wifi活動
在此先感謝。
經過一番研究,我找到了TrafficStats類。不知道這是多麼可靠,但這裏是我的代碼:
boolean isWifiInUse;
long lastTx,lastRx;
Runnable TestWifi = new Runnable() {
public void run() {
long cRx = TrafficStats.getTotalRxBytes() - TrafficStats.getMobileRxBytes();
long cTx = TrafficStats.getTotalTxBytes() - TrafficStats.getMobileTxBytes();
if (cTx - lastTx != 0 || cRx - lastRx != 0)
{
if (!isWifiInUse)
isWifiInUse = true;
}
else if (isWifiInUse)
{
isWifiInUse = false;
//ShowToast("Data no longer in use");
}
lastRx = cRx;
lastTx = cTx;
hand.postDelayed(this, 1000);
}
};
希望這可以幫助別人。