1

我在我的 android 应用程序中遇到了一个非常奇怪的问题。我从服务器接收 xml 文件并根据 xml 内容执行操作。

它几乎适用于每个网络,例如。美国的 AT&T、Verizon、印度的 airtel、vodaphone 和其他公司。但它不适用于美国的 sprint 网络。

当我尝试查找 xml 内容时,我得到了一些字节码或 unicode,而不是纯 xml 文件。我查找了更多信息,我发现其他人在 sprint evdeo 上也遇到了这个问题。人们说在这里关闭字节移动优化

我无法关闭移动字节优化。如果我切换到 wifi 网络,它会正确接收文件。问题仅发生在 sprint 蜂窝网络上。

任何帮助或任何指针将不胜感激。提前致谢

4

3 回答 3

2

感谢大家回复我的问题,几天前我已经解决了。

实际上 sprint 使用 gzip 编码压缩任何 xml 文件。我尝试使用以下方法解压缩 Http 响应,它就像魅力一样。大多数网络都提供压缩音频/视频数据,但 sprint 正在处理通过网络发送的所有数据。

我使用以下代码解决了我的问题。

HttpEntity httpEntity = reponseData.getEntity();
InputStream res = AndroidHttpClient.getUngzippedContent(httpEntity);
linputSourceFromServerResponse = new InputSource(res);
Document doc = builder.parse(linputSourceFromServerResponse);
于 2013-10-07T11:23:58.047 回答
1

检查输出是否只是压缩的 xml。用于GZIPInputStream读取纯 xml。

于 2013-10-06T23:06:30.307 回答
0

乍一看,似乎是编码问题。如果可能,您可以向 sprint network 发送电子邮件并解释您的问题,也许他们会给您答案或合乎逻辑的解释。

于 2013-10-04T20:54:40.217 回答