0

我正在开发一个使用套接字连接与服务器通信的 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 网络的连接?

4

1 回答 1

1

这应该对您有所帮助:http: //www.devdaily.com/java/jwarehouse/android/core/java/android/net/MobileDataStateTracker.java.shtml

这段代码有很多内容,所以搜索“case TelephonyManager.NETWORK_TYPE_EDGE:”并从那里开始。

于 2012-06-03T17:42:45.710 回答