2012-03-25 3 views
1

Gibt es eine Methode, mit der ich die Internetnutzung nach Anwendung verfolgen kann? Ich muss herausfinden, welche App im Moment das Internet nutzt.Android-Entwicklung: Wie finde ich heraus, welche Anwendungen gerade auf das Internet zugreifen?

Ich habe es geschafft, alle Anwendungen mit INTERNET-Erlaubnis zu bekommen, aber ich weiß nicht, wie man nur die Anwendungen erhält, die mit dem Internet verbunden sind.

for(int i=0; i<applications.size(); i++){ 
     ApplicationInfo info = applications.get(i); 
     if(PackageManager.PERMISSION_GRANTED==packageManager.checkPermission(Manifest.permission.INTERNET, info.packageName)){ 
      netApplications.add(info);  
     } 


} 

Antwort

2

Sie haben keine Möglichkeit zu bestimmen, "welche App das Internet im Moment verwendet".

Mithilfe von TrafficStats können Sie jedoch feststellen, welche Apps das Internet über einen bestimmten Zeitraum verwenden. Here is a sample application zeigt die Verwendung von TrafficStats für diesen Zweck.

Auch unter Android 4.0 und höher kann die Anwendung "Settings" den Bandbreitenverbrauch anzeigen, aber normalerweise über einen längeren Zeitraum.

+0

Hm ... Dann könnte es möglich sein, aber nicht so genau. TrafficStats.getUidRxBytes (appUid); Ich könnte die Anzahl der Bytes zweimal nehmen. Erstmal am Anfang und dann etwas verzögern und neue Werte bekommen. Wenn die Nummern unterschiedlich sind, verwendet die App wahrscheinlich das Internet. Was denken Sie? – Cristiano

+0

@ZdravkoVajudin: "Zum ersten Mal am Anfang und dann etwas Verzögerung und neue Werte erhalten. Wenn die Zahlen unterschiedlich sind, dann App wahrscheinlich Internet verwendet." -- richtig. – CommonsWare

Verwandte Themen