安卓开发 访问网络 4.2系统下调用getResponseCode 抛异常

来源:互联网 发布:淘宝客是干嘛的 编辑:程序博客网 时间:2024/04/30 00:32

public static List<News> getLastNews() throws Exception{
String path = "http://192.168.1.105:8080/androidvideonews/ListServlet";
URL url = new URL(path);
HttpURLConnection conn =(HttpURLConnection) url.openConnection();
conn.setReadTimeout(5000);
conn.setRequestMethod("GET");
conn.connect();
int a = conn.getResponseCode() ;
if(a == 200){
InputStream inStream = conn.getInputStream();
return parseXML(inStream);
}
return null;

}
4.2下执行到int a = conn.getResponseCode() ;有异常。 但是在2.3系统下就可以正常运行。
什么情况 我看网上有这个问题的人很多啊。。 怎么解决呢?

 

 

seakingxc|二级采纳率100%

 

logcat显示的异常信息您没有发出来,所以我只能猜测是请求没有放在单独线程而是放在主线程了。解决方法,吧http的请求单独放在一个新线程中,或者加一个这个方法
public static void closeStrictMode() {
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
.detectAll().penaltyLog().build());
}