Я хотел бы понять, какой тип подключения и теоретическую скорость передачи данных использует мой телефон для передачи данных, и как она меняется в зависимости от местоположения. Я не ищу фактический тест скорости передачи данных, такой как speedtest.net, а скорее регистрацию типа соединения для передачи данных (GPRS, HSDPA, HSDPA+), а также конкретной модуляции и категорий UE ( см. таблицу для пользовательского оборудования (UE) категории в этой статье ).
Эта информация должна быть доступна по радиотелефону без фактической отправки дополнительных данных по сети.
Я хотел бы, чтобы эта информация регистрировалась вместе с приблизительным местоположением, возможно, в качестве фонового процесса (который будет работать только при активном подключении для передачи данных, чтобы не разряжать батарею).
Я думаю, что необходимые вам сетевые данные доступны через logcat. Просмотрите сетевой буфер на своем телефоне, используя alogcat (Android 4.0 и более ранние версии) или adb (любые, но обязательные для Android 4.1 и более поздних версий) . Мне пришлось использовать этот оператор в adb:
adb logcat -b radio GsmSST:D *:S
Полученный список включал записи журнала, подобные приведенной ниже:
D/GsmSST ( 707): [GsmSST] handlPollStateResultMessage: GsmSST setDataRegState=0 regState=1 dataRadioTechnology=9
Это от Galaxy Nexus, который является GSM - если ваш телефон CDMA, он будет выглядеть совсем иначе и ему потребуется другая команда adb. Обратите внимание на dataRadioTechnology
порцию. Проведите небольшое тестирование, чтобы выяснить, что означают цифры (мой Google-foo работает недостаточно хорошо, чтобы найти ответ в Интернете).
Затем все, что вам нужно сделать, это отслеживать свое местоположение любым удобным для вас способом. Сопоставьте выходные данные logcat с журналами вашего местоположения, используя временные метки, и посмотрите, что вы получите!
Что-то вроде бокового ответа здесь: у вас настроена среда разработки android/eclipse? У меня нет конкретного ответа, но просмотр файлов журнала в подробном режиме без включенных фильтров покажет вам почти все, что делает телефон (... или, по крайней мере, то, что программисты решили отметить в файлах журнала. Мы программисты часто ленивы и забывают отключить журналы после того, как мы закончили отладку.) Так что, по крайней мере, журналы могут показать, какие службы радиосвязи / подключения активны. И оттуда вы можете найти через Google некоторую информацию о любых интерфейсах, которые они выставляют. Просмотр лог-файлов показывает массу интересных вещей.
WEll Если вы хотите просматривать данные журнала на Android, помимо местоположения, для этого есть приложение, которое называется GeoLog. Вы можете прочитать больше о приложении здесь http://topbestfreeapps.com/save-sensors-data-of-android-device-with-geolog-app/
Я не думаю, что он регистрирует местоположение, но я думаю, что он делает большую часть всего, что вы ищете:
Я использую его время от времени для мониторинга сетевого трафика, и он работает очень хорошо.
Попробуйте Network Speed https://play.google.com/store/apps/details?id=netspeed.pt Он регистрирует все ваши данные вместе с их типом. Очевидно, что он не регистрирует ваше местоположение. Я использую его каждый раз. Его размер составляет всего 43 КБ, и он бесплатный. Попробуйте.
Я использую приложение Stats Free . Он не только показывает вам данные, переданные через GPRS/HSDPA и WiFi (отдельно). Он даже показывает вам звонки и журналы сообщений.
Настройки> Использование данных регистрирует весь сетевой трафик, доступный из jelly bean.
тим11г