ก่อนอื่นให้ฉันบอกว่าการนับข้อมูลเครือข่ายใน Android นั้นไม่ใช่เรื่องง่ายเพราะไม่มี API ที่ให้ข้อมูลนี้อย่างสะอาด นักพัฒนาแอพต้องทำงานกับ internals Linux และปัญหาอื่น ๆ นี่คือเหตุผลที่แอพส่วนใหญ่จะไม่ทำงานกับฮาร์ดแวร์ / ซอฟต์แวร์ทุกชุด สำหรับ exaple ฉันมีแอพที่ทำงานกับ Eclair แต่หยุดทำงานกับ Gingerbread ใน Galaxy S ของฉัน
Android แนะนำ Long Term Evolution (4G) รองรับ API ระดับ 11 (Honeycomb) ตัวนับทราฟฟิกส่วนใหญ่จะอ่านข้อมูลปริมาณจากอินเทอร์เฟซเครือข่าย linux พื้นฐาน AFAIK มีเพียงสองอินเตอร์เฟสหนึ่งอินเตอร์เฟสสำหรับ Wifi และหนึ่ง 2G / 3G / 4G ซึ่งหมายถึง:
- มันจะยากที่จะตรวจสอบข้อมูล 4G แยกจาก 2G / 3G
- หากแอปแจ้งว่าตรวจสอบ 2G / 3G เป็นไปได้มากว่าจะมี 4G ด้วย
- Androids 4G API ค่อนข้างใหม่ การสนับสนุนรวมถึงการนับการรับส่งข้อมูลแยกต่างหาก (ถ้าเป็นไปได้) จะเข้าสู่แอพในอนาคตอันใกล้
นี่คือตัวอย่างรายการที่แสดงอินเตอร์เฟสและปริมาณการใช้งานบน Galaxy S. pdp0ของฉันคือ mobileและeth0 คือ wifi iterface:
Interface name: lo
Bytes in: 204335770
Bytes out: 204335770
Interface name: svnet0
Bytes in: 669002
Bytes out: 38238
Interface name: ifb0
Bytes in: 0
Bytes out: 0
Interface name: ifb1
Bytes in: 0
Bytes out: 0
Interface name: usb0
Bytes in: 0
Bytes out: 0
Interface name: sit0
Bytes in: 0
Bytes out: 0
Interface name: ip6tnl0
Bytes in: 0
Bytes out: 0
Interface name: eth0
Bytes in: 9981470
Bytes out: 3524023
Interface name: pdp0
Bytes in: 1421620
Bytes out: 361198