2012-04-19 23 views
1

最近アンドロイドを学び始めました。私の現在のプロジェクトでは、毎日、毎週、毎月の3GとWiFiインターネットトラフィックをカウントする必要があります。これで、私はそれを見つけることができました:Androidで毎日、毎週、毎月3G、WiFiインターネットトラフィックをカウントする方法は?

long totalRecievedBytes = TrafficStats.getTotalRxBytes();
long totalTransmittedBytes = TrafficStats.getTotalTxBytes();
文字列allTraffic = humanReadableByteCount(totalRecievedBytes + totalTransmittedBytes);
TextView tv =(TextView)findViewById(R.id.traffic_3g_all);
tv.setText(allTraffic);

私はネットカウンターアプリを見て、すべてのトラフィックデータを電話のメモリに書き込みます。起動時にメモリからトラフィックデータを読み込みます。

毎日、毎週、毎月の3G、WiFiインターネットトラフィックの使用状況に関する情報を収集する方法は何ですか?

ありがとう、 ありがとうございました。

答えて

1

ここでクラス参照番号TrafficStats Android Referenceを参照すると、システムは月、日、または週単位でそれを追跡しておらず、一部のデバイスはそれをすべてサポートしていません。だから、あなたのアプリは、それがサポートされているかどうかを判断し、定期的な間隔で統計情報を読んで、それ自体を追跡する必要があります。私はドキュメンテーションの統計情報をリセットする方法を知っていましたが、このカウンタをリセットする設定がハードなものでなければ表示されます。このデータを収集するには、起動時にサービスを実行したいと思うでしょう。これを行うにはQuestion を参照してください。

+0

TrafficStatsを使用して、Wi-Fiの状態を聞き、定期的にチェック(30秒または60分)し、dbを新しいトラフィックに更新しました。私はonBootReceiverを使用して、電話がオンになったときにデータを収集しました。 Wi-Fiをオンにしたときの日の変化には注意が必要です。 – Ikrom

+0

*このデータを収集するには、起動時にサービスを実行することをお勧めします。*(再)起動は、このカウンタをリセットするものです –

関連する問題