ソケット接続を使用してサーバーと通信する Android アプリケーションを開発しています。サーバーと Android デバイスの間で転送されるデータは JSON 形式です。
アプリケーションは、WiFi および HSPA モバイル データ接続で正常に動作します。しかし、接続タイプが EDGE に切り替わると、アプリケーションがクラッシュします。
電話が突然 EDGE に切り替わるたびに、次の例外がキャプチャされます...
[2012/06/03 18:47:26] ERROR - JSONManager.getJsonObjectFromStream : Unterminated string at character 202 of {"Messages":[{"RequestID":"c69421a4-34b1-4a55-828d-f0ab2aee80a6","OperationType":"GET","CategoryName":"Agent","RequestKey":"Revision","Params":null,"Channel":null,"EventID":null,"EventSource":null,"Even
上記は、アプリケーションをデバッグするために作成したログ ファイルに報告された例外です。ご覧のとおり、例外はキャプチャされて処理されますが、それでもアプリケーションは約でクラッシュします。上記のエラーは、JSON が不完全であることです。ただし、HSPA または WiFi に接続している場合、この問題は発生しません。
EDGE 接続を介して送信できるデータの最大長に関して何らかの制限はありますか?
この問題を解決するにはどうすればよいですか?
そうでない場合、少なくとも電話が EDGE ネットワークへの接続を変更したことを検出する方法はありますか?