2016-11-28 5 views
0

Android Nougat에서만 Wi-Fi를 통해 송수신되는 패킷 수를 측정하려고합니다.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 클래스가 내 용도로 잘 작동하는 것 같습니다. 여기

는 내가하고 결국 무엇이고, 안드로이드 7.0 넥서스 6P에만 와이파이 데이터를 가져 오기 위해 일하고 :

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가 꺼져있는 상태에서 전력 소모가 없습니다. 좋은 측정을 위해 Wi-Fi를 사용할 수있는 YouTube 동영상을 스트리밍했는데 모바일 데이터 만 있으면 TrafficStats 사용이 제대로 작동하는지 확인할 수있었습니다.