У меня есть простое приложение, которое периодически отправляет запросы HTTP_GET на сервер.При отправке запросов через 3G я заметил, что время от времени запросы истекают (и регистрация на стороне сервера показывает, что она НИКОГДА не получает запрос).
После опробования различных комбинаций я обнаружил один непротиворечивый шаблон, когда эта проблемапроисходит (это происходит после каждых 5-15 успешных запросов).
- TelephonyRegistry: notifyDataConnection() state=2isDataConnectivityPossible()true, reason=null
- TelephonyRegistry: broadcastDataConnectionStateChanged() state=CONNECTEDtypes=default supl, interfaceName=rmnet0
- NetworkLocationProvider: onDataConnectionStateChanged 3
Согласно Google, NetworkLocationProvider изменяется на «DATA_SUSPENDED», что означает «соединение установлено, но IP-трафик временно недоступен».(см. TelephonyManager ).В ситуациях, когда запросы HTTP_GET выполняются успешно, состояние изменяется на «8».Мое приложение не использует управление местоположением, и я отключил все другие некритические приложения!
Я хочу знать:
- В чем причина этоговопрос?Почему состояние соединения переходит в DATA_SUSPENDED?
- Можно ли избежать / преодолеть эту проблему?
Любая помощь / понимание этого очень ценится!Заранее спасибо!