Просто назад из очень хорошего отпуска в Исландии, и ждут счета роуминга данных из моей телефонной компании. Я надеюсь на лучшее, ограничивавшее мой трафик как можно больше, но я хочу знать заранее. Я использовал очень хорошее приложение NetCounter, но это не измерило бродящий трафик данных вообще.
Таким образом, я хочу создать свое собственное приложение, имеющее размеры просто бродящий по трафику данных. У меня есть несколько булевских переменных для запуска с (NetworkInfo. IsRoaming () и TelephonyManager.isNetworkRoaming ()), но я не уверен, как измерить трафик если true
.
Таким образом, вопрос: Как я измеряю трафик данных при роуминге? (Что-то как уровень API 8, функциональность TrafficStats - то, что я после, но для уровня API 3). Используемым SmartPhone является Samsung Galaxy i7500 (Android 1.6)
Спасибо за внимание!
В моем телефоне это выглядит так:
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
lo: 712 8 0 0 0 0 0 0 712 8 0 0 0 0 0 0
dummy0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
rmnet0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
rmnet1: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
rmnet2: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
wlan0: 146112 423 32 0 0 0 0 0 42460 409 0 0 0 0 0 0
В моем телефоне строка «rmnet0» - это строка, в которой хранится статистика мобильного интернета. Надеюсь, его формат не меняется в зависимости от версии ядра.
Думаю, это рекомендуемый метод. Как показано здесь: http://www.jaqpot.net/svn/android/netcounter/trunk/src/net/jaqpot/netcounter/service/SysClassNet.java
В комментариях упоминалось несколько вариантов с открытым исходным кодом:
Я сейчас установил 3G Watchdog. Есть несколько комментариев автора к AndroLib , в которых говорится, что он не хочет выпускать исходный код, но я уверен, что с некоторой помощью сообщества мы все могли бы сотрудничать, чтобы создать лучшее приложение для использования данных. там.
Я думаю, что лучшим решением было бы взять код из NetMeter и запустить службу в фоновом режиме. Это делает 3G Watchdog (услуга называется net.NetMonitorService
).