无法连接互联网

时间:2013-08-06 12:37:51

标签: android

您好我正在尝试使用此代码连接互联网:

  DefaultHttpClient httpclient = new DefaultHttpClient();  
  HttpPost httppost = new HttpPost("http://192.168.0.100/webnet/xyz.php");
  String result = null;
  InputStream is = null;
  StringBuilder sb = null;
  HttpResponse response = httpclient.execute(httppost);

我在清单文件上注册了Internet权限

我收到了这个错误:

  

System.err android.os.StrictMode $ AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1117)

我使用API​​级别8测试此应用

4 个答案:

答案 0 :(得分:4)

您无法在主线程上运行长时间运行的任务。请在后台移动与您的网络相关的任务。

请参阅:AsyncTask Android example

答案 1 :(得分:2)

从Android 3.0开始,当您尝试从主线程发出网络请求时,您会看到此错误。将此代码移动到单独的线程中。

答案 2 :(得分:2)

在执行此代码块之前尝试此操作。可能在某些情况下有效:

try {
                Class strictModeClass=Class.forName("android.os.StrictMode");
                Class strictModeThreadPolicyClass=Class.forName("android.os.StrictMode$ThreadPolicy");
                Object laxPolicy = strictModeThreadPolicyClass.getField("LAX").get(null);
                Method method_setThreadPolicy = strictModeClass.getMethod("setThreadPolicy",strictModeThreadPolicyClass );
                method_setThreadPolicy.invoke(null,laxPolicy);
            }
        catch (Exception e) {

            }

在此处提出问题之前先尝试一下:“google.com”#接受kevinDTimm

答案 3 :(得分:1)

首先检查哪个IP地址是打开的(IPV4 / IPV6)