0

我正在使用上面的代码从我的网络主机获取信息。很好奇,但脚本在 AVD 中运行良好,但在我的真实设备(三星 Galaxy Note)上运行良好。它不会抛出任何异常。

try{
    HttpClient htClient = getHttpClient();
    HttpPost htPost = new HttpPost("http://myworkingurl/access.php"); 
    Log.i("MyLog", "Print 1");  // this is outputed to LogCat
    HttpResponse htResponse = htClient.execute(htPost);
    Log.i("MyLog", "Print 2"); // no output here
} catch (ClientProtocolException ce) {
    Log.i("MyLog", ce.getMessage()); // no output here
} catch (IOException e) {
    Log.i("MyLog", e.getMessage()); // no output here
}

LogCat 中没有错误。它输出“Print 1”,跳过 try 块中的所有剩余代码,调用此方法的类抛出带有 void 消息的异常。注意:我将uses-permission标签android.permission.INTERNET放在uses-sdk之后并且在模拟器中工作正常。

请帮忙!

4

1 回答 1

0

您最好在 asyncTask 中尝试相同的代码。可能是因为严格模式。

class ARequestTask extends AsyncTask<String, String, String>{

        @Override
        protected String doInBackground(String... params) {
         //http request here
        //return the response as string
         }
       @Override
       protected void onPostExecute(String result) {
          // use the result as you wish
       }
于 2012-11-09T18:41:23.733 回答