android wifi активная передача данных

Используя Android TelephonyManager, приложение может получать информацию о состоянии передачи данных по сотовой сети. сеть. Например, активность входит, уходит или и то, и другое. Мне интересно, знает ли кто-нибудь способ получить ту же информацию, когда устройство подключено с помощью Wi-Fi? В Ice Cream Sandwich (кажется, 4.0.3) эта информация доступна как для Wi-Fi, так и для телефона, но до этого она была доступна только для телефона (WifiManager не обновлялся этой информацией до выпуска Ice Cream Sandwich).

По сути, я хочу иметь возможность проверять, активно ли данные передаются телефоном/планшетом при подключении к сети Wi-Fi (а не только то, что Wi-Fi подключен). Эти данные не должны быть инициированы мной; Я просто хочу знать, активно ли перемещаются данные.

Есть ли у кого-нибудь идеи, как этого можно добиться? Я новичок в Android и хотел бы получить эту информацию, чтобы убедиться, что мое приложение не делает ничего плохого. Заранее спасибо за любые мысли.


person blh83    schedule 06.02.2012    source источник


Ответы (1)


Я тоже искал это, и у меня нет идеального ответа, но вы можете получить какие-то приблизительные данные, используя API TrafficStats.

У меня есть фрагмент кода, который время от времени запускается таймером и парой переменных класса, называемых totalDownload и totalUpload...

long newTotalDownload = TrafficStats.getTotalTxBytes();
long newTotalUpload = TrafficStats.getTotalRxBytes();

long incDownload = newTotalDownload - totalDownload;
long incUpload = newTotalUpload - totalUpload;

if (incUpload > 0)
{
    //data was being uploaded in the last time period
}
if (incDownload > 0)
{
    //data was being downloaded in the last time period
}
//set up for the next iteration
totalDownload = newTotalDownload;
totalUpload = newTotalUpload;

это работает, хотя я хотел бы получить лучший ответ, если вы его найдете.

person Kibi    schedule 06.02.2012
comment
даже когда нет подключения к Интернету, часть загрузки положительна. . . я думаю, что только часть загрузки имеет смысл. - person Prince Champappilly; 07.10.2016