android下的android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork错误
今天想在Android下,用httpClient去获取网页的内容,结果在httpClient处报了错,
android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1145), libcore.io.BlockGuardOs.connect(BlockGuardOs.java:84), libcore.io.IoBridge.connectErrno(IoBridge.java:127), libcore.io.IoBridge.connect(IoBridge.java:112), java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192), java.net.PlainSocketImpl.connect(PlainSocketImpl.java:459), java.net.Socket.connect(Socket.java:843), org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:119), org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:144), org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164), org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119), org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360), org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555), org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpCl
问我们的Android大神,得知Android不能再主线程去访问网络,需要另起线程去访问
方法一:
@TargetApi(Build.VERSION_CODES.GINGERBREAD)
@SuppressLint("NewApi")
publicstaticString getHtmlByUrl(String url){
StrictMode.ThreadPolicy policy=newStrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
HttpHost proxy = new HttpHost(PROXY, PROXY_PORT);DefaultHttpClient httpClient = new DefaultHttpClient();
在httpClient访问前,加上红颜色的代码。
方法二:
用java创建个线程,在线程中去httpClient访问网络。
更多相关文章
- 浅谈Java中Collections.sort对List排序的两种方法
- Python list sort方法的具体使用
- python list.sort()根据多个关键字排序的方法实现
- 与Android的系统打交道
- android 6.0及以下获取wifi mac地址
- Best Practice For Android
- android Environment 常用方法(获取存储目录)
- Porting Android(安卓)to S3C6410
- Android(安卓)IntentService 深入分析