0

我正在尝试从我的应用程序中找出当前是否正在使用 wifi;不仅是连接,而且目前正在下载或上传某些内容。Android (4.0+) 似乎意识到了这一点,因为传输数据时 wifi 图标会发生变化。我有什么方法可以访问这些信息?

提前致谢。

4

1 回答 1

0

经过更多研究后,我发现了 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);
    }
}; 

希望这可以帮助某人。

于 2012-09-23T17:57:12.000 回答