android-Statistik-3g-traffic für jede APP, wie?
Für Statistik Netzwerk-traffic pro APP, was ich jetzt benutze ist Android TrafficStats
Dass ich bekommen kann Ergebnis wie folgt aus :
- Youtube 50.30 MB
- Facebook Facettierten 21,39 MB
- Google Play 103.38 MB
- (und mehr...)
Ich weiß, wird das "Android Trafficstats" nur einen nativen Zeiger auf eine c-Datei. (vielleicht ein .so ?)
Aber es vermischt Wifi & 3g-Datenverkehr, ist es eine Möglichkeit, nur bekommen Sie nicht-WLAN-traffic-Statistik ?
- Welches system verwenden Sie? von mindestens ICS weiterleiten Sie können sehen, Daten-Nutzung von 3g/mobile ; wlan ; oder alle zusammen.
- Android 2.2 oder höher
Du musst angemeldet sein, um einen Kommentar abzugeben.
Abend alle, ich habe einiges zu tun...
Erstes habe ich eine Klasse erstellen die sich BroadcasrReceiver, wie diese:
Manifest definition:
Codes:
- Und Telefon-Statistiken Hörer unten...
Schließlich, hier ist meine Logik
Als ich weiß, den Netzwerk-Verkehr wird durch WiFi nur, wenn sowohl 3G & WiFi sind verfügbar.
Nach einem langen Kampf, ich bin in der Lage, um die Lösung zu finden, um Daten über eine beliebige Schnittstelle, die für jede installierte Anwendung in android
- Gerät.
Als Android bietet TrafficStats-Apis, aber diese APIs bereitstellen, erheben Daten, Statistiken für jede app, die uid seit Gerät Booten und Sogar
APIs werden nicht unterstützt, um die Daten über eine Schnittstelle für eine bestimmte Anwendung.
Auch wenn wir uns verlassen, über TraffiucStates APIS ,bekommen wir eine neue Daten-Statistiken für jede Anwendung.
Also dachte ich, die versteckte APIs verwenden diese..
Hier bin ich zu erwähnen die Schritte, um die Daten, Statistiken für jede Anwendung über eine Schnittstelle in Android...
Schaffung eines "INetworkStatsSession" session
Erstellen Sie ein Netzwerk-Vorlage entsprechend der Schnittstelle, die Sie Messen wollen..
GetActive SubscriberID:
Sammeln Sie die Netzwerk-Geschichte der jeweiligen Anwendung byt übergabe Anwendung UIDs...
Die gesamten Verbrauchsdaten:
ich gefunden Weg, um nur die wifi-Verkehrs
nun wifibyte string zeigen, wifi Gesamtanzahl der byte
seine Arbeit für mich ich hoffe, dass die Arbeit für Sie
Versuchen Sie den folgenden code, und schalten Sie Ihr 'WIFI' und überprüfen Sie, mit nur '3G'
Erstellen Sie ein neues Android-Projekt in Eclipse. Denken Sie daran, um die Verwendung der TrafficStats-Klasse müssen Sie die Ziel-API für Android 2.2 (Froyo) oder höher.
In /res/layout-Ordner erstellen wir ein main.xml Ressource. Für dieses Projekt, wir sind nur mit einer Reihe von text-Ansichten in einer vertikal gestapelten linearen layout.
Mit unserem layout im Ort bewegen wir uns auf den /src Ordner. Erstellen Main.java durch die Erweiterung der Activity-Klasse. Lassen Sie uns auch gehen Sie vor und erklären drei private Klassenvariablen.
Main.java
Verwenden wir die auf Außerkraftsetzung erstellen zu initialisieren unseren private-Variablen, sowie das planen, der einen Rückruf auf dem UI-thread. Notieren Sie die Kontrollkästchen für die enum-TrafficStats.Nicht UNTERSTÜTZTE. Während meiner Erfahrung mit der TrafficStats-Klasse wurde ohne Zwischenfälle, dem offiziellen Google-Dokumentation besagt, dass einige Geräte unterstützen möglicherweise nicht diese Art der Berichterstattung und wenn das der Fall ist, der Aufruf liefert den vorgenannten Wert. Aus diesem Grund ist es eine gute Idee, um Ihren code schreiben, defensiv, wie ich hier veranschaulicht habe.
Nicht zuletzt müssen wir aktualisieren unsere Anzeige und plant die runnable.