wie 3g Verkehr in Android Mobile zu zählen?

8

Was ich tun möchte, ist 3G-Verkehr bzw. WLAN-Verkehr zu zählen. Jetzt weiß ich, wie man mit WiFi umgeht. Unten ist der Quellcode für WiFi. Auf diese Weise kann ich WiFi-Verkehr für alle Android-Telefone aller Hersteller zählen. Aber ich habe keinen ähnlichen Weg für 3g gefunden. Weiß jemand?

%Vor%     
user924829 02.09.2011, 08:42
quelle

2 Antworten

7

Ab API-Level 8 (Android 2.2) gibt es eine Klasse TrafficStats , die was bietet Sie brauchen:

  

Klasse, die Netzwerkverkehrsstatistiken bereitstellt. Diese Statistiken   beinhalten gesendete und empfangene Bytes und übertragene Netzwerkpakete   und empfangen, über alle Schnittstellen, über die mobile Schnittstelle und auf a   pro UID-Basis.

In den älteren Versionen können Sie den von Ihnen erwähnten Ansatz verwenden (d. h. den Dateiinhalt von /sys/class/net/... files lesen). Dieser Blogbeitrag enthält eine hervorragende Zuordnung zwischen TrafficStats Methoden und Dateispeicherorte. Und dieser SO-Beitrag enthält die Quelle, die der Autor zum Lesen dieser Dateiwerte verwendet hat. Danach sollten Sie zuerst versuchen, die Nummer aus der " /sys/class/net/rmnet0/statistics/rx_bytes " Datei zu lesen (für den Wert "received bytes") und falls es fehlschlägt, versuchen Sie stattdessen " /sys/class/net/ppp0/statistics/rx_bytes ".

    
Idolon 02.09.2011 12:59
quelle
0

Um den aktuellen Verbindungstyp zu erhalten, können Sie den TelephonyManager verwenden: Ссылка

Überprüfen Sie zunächst, ob das Gerät mit der Standard-Mobildatenverbindung verbunden ist, und überprüfen Sie dann den Verbindungstyp:

%Vor%     
Rich 02.09.2011 09:03
quelle

Tags und Links