Czuję, że jestem teraz na wariackich pigułkach. Określona część mojej aplikacji działa dobrze przez kilka dni, a dziś po prostu przestała działać i nie mogę zrozumieć dlaczego. Ta część mojego kodu służyła do generowania danych całkowitych od momentu uruchomienia, które każda konkretna aplikacja wysłała i otrzymała. Teraz, wartości zawsze pokazać się jako 0.getUidRxBytes() i getUidTxBytes() zawsze zwracają 0 w systemie Android 4.3
Kilka rzeczy, które mogą lub nie mogą mieć wpływ na to:
1.) Moja Nexus 4 został właśnie zaktualizowany do Androida 4.3 dzisiaj, ale wątpię, że jest to problem, ponieważ działało to dobrze zaraz po aktualizacji.
2.) W aktualizacji Android API 18 niektóre metody interfejsu API Statystyk ruchu są teraz nieaktualne, ale są to metody, których nie używam, więc nie powinno to mieć żadnego efektu. http://developer.android.com/reference/android/net/TrafficStats.html
Cała pomoc jest bardzo doceniana.
PackageManager packageManager=this.getPackageManager();
List<ApplicationInfo> appList=packageManager.getInstalledApplications(0);
for (ApplicationInfo appInfo : appList) {
String appLabel = (String) packageManager.getApplicationLabel(appInfo);
int uid = appInfo.uid;
Log.d("data", String.valueOf(TrafficStats.getUidRxBytes(uid) + TrafficStats.getUidTxBytes(uid)));
Update [23 stycznia 2014]: Testowanie getUidRxBytes() i getUidTxBytes() na moim Nexus 4 z Androidem 4.4.2 pokazuje, że wartości nie są już 0, ale zgłaszają poprawnych statystyk .
Pomimo swoich zastrzeżeń, myślę, że te dwie rzeczy, które wymienione są prawdopodobnie najbardziej prawdopodobne przyczyny. –
Doceniam odpowiedź Roberta, ale tak jak powiedziałem, nie sądzę, żeby to mogły być problemy, ponieważ wszystko działało po tym, jak zaktualizowałem się do wersji 4.3. Kilka godzin później zaczęło zgłaszać 0 z jakiegoś powodu. – Richard
Zapalę nexus z powrotem do 4.2, aby sprawdzić, czy to działa, brb – Richard