2016-11-28 4 views
0

Android NougatでWiFi経由で送受信されるパケット数を測定しようとしています。無線LANのパケットを測定する方法を探しAndroid NougatでのみWiFiパケットを測定する

https://code.google.com/p/android/issues/detail?id=208172

はいつも戻って私をリード:彼らはこの議論に応じヌガーに「/ SYS /クラス/ネット/ wlan0 /統計/ *」へのアクセスを削除したように残念なことに、それが見えますこの回答(または類似)へ:

"/ SYS /クラス/ネット/ wlan0 /統計/ *"(rx_bytes、tx_bytes、など)

私がしよう読み取るために、あるGet wifi traffic stats android

それらを読むために、AndroidStオーディオは、許可が拒否されているため、アプリケーションがこれらのファイルを読み取れないことを示しています。

私はTrafficStatsを調査しましたが、WiFi統計情報をすべてのネットワーク統計情報から分離する方法はないようです。 WiFiパケットのみを測定する方法を知っている人はいますか?

(背景については、私はヌガーに更新されました私のネクサス6P、で動作するようにPowerTutorアプリを更新しようとしている私はオフに働いているソースコードは、ここで発見された:。https://github.com/msg555/PowerTutor

答えて

0

いくつかのテストの後、それはTrafficStatsクラスが私の目的のためにうまくいくようです。

ここに私がやってしまったものだし、Android 7.0でネクサス6P上のみのWiFiデータを取得するために働いている:

long transmitPackets = TrafficStats.getTotalTxPackets() - TrafficStats.getMobileTxPackets(); 
long receivePackets = TrafficStats.getTotalRxPackets() - TrafficStats.getMobileRxPackets(); 
long transmitBytes = TrafficStats.getTotalTxBytes() - TrafficStats.getMobileTxBytes(); 
long receiveBytes = TrafficStats.getTotalRxBytes() - TrafficStats.getMobileRxBytes(); 

私はオンとオフのWiFiを使って出力をチェックして、それをテストし、それが表示さWiFiの電源を切っても消費電力はありません。ちょうど良い措置のために、私はWiFiを有効にした状態でYouTubeデータをストリーミングし、モバイルデータを有効にしてTrafficStatsの使用が適切に機能していることを確認しました。

関連する問題