我在 Android ICS 上遇到了一个奇怪的问题,我有以下代码来建立连接以读取 xml 文件:
// previous code......
URL url = new URL("https://urltomyxmlfile.com/xmlfile");
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader xr = sp.getXMLReader();
XML_handler myXML_handler = new XML_handler();
xr.setContentHandler(myXML_handler);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setConnectTimeout(5000);
connection.setReadTimeout(25000);
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
xr.parse(new InputSource(input));
//more code....
此代码在 wifi 和 3G 的所有 android 版本中都能正常工作,但在 Android ICS 中仅适用于 wifi,在 3G 连接上我得到 403 响应。
我不知道这个问题的根源,我没有正确配置连接吗?Android ICS 中是否有新的限制?https的问题?
额外信息:此代码未在 UI 线程中运行
谢谢你的帮助!
新的额外信息:我发现只有三星 Galaxy SII 用户遇到此问题。