0

在我的 android 应用程序中,我必须向服务器发送请求以接收其响应。该应用程序运行良好,当我进行一些测试时发现以下问题。

认为 WIFI 已关闭且移动(3G)连接可用。因此,如果我在按下按钮将请求发送到服务器后打开 WIFI,应用程序将从以下代码行停止执行resCode = httpConn.getResponseCode();。此代码在单独的线程中运行并使用 Handler 类。

我认为发生这种情况是因为当我按下按钮(发送请求)时,它只有移动(3G)互联网并试图处理(移动互联网)。但是当我在处理时打开WIFI时,可能会尝试使用WIFI进行处理,因为WIFI具有最高优先级并产生冲突。

有没有人知道如何防止这种冲突。

编辑。..................................................... ......

InputStream in = null; 
int resCode = -1; 

     try 
     {                                                                                             
        URL url = new URL(urlStr.replace(" ", "%20"));                                             
        URLConnection urlConn = url.openConnection();                                             
        HttpURLConnection httpConn = (HttpURLConnection)urlConn;                                  
        httpConn.setAllowUserInteraction(false);                                                   
        httpConn.setInstanceFollowRedirects(true);                                                
        httpConn.setRequestMethod("GET");                                                           
        httpConn.connect(); 
        httpConn.setConnectTimeout(5500);        Log.v("State", "before get response code");                                                            
 /*->>*/ resCode = httpConn.getResponseCode();    Log.v("State", "After get response code");                                                            
        in = (resCode == HttpURLConnection.HTTP_OK) ? httpConn.getInputStream() : in;              

    } 
    catch (MalformedURLException e) 
    {
        e.printStackTrace();                                                                              
    }
    catch (IOException e) 
    {
        e.printStackTrace();                                                                               
    }   

在这种情况下它成功执行的最后一行是httpConn.setConnectTimeout(5500);and stop 从那里执行....

它运行"before get response code"但不在"before get response code"Logcat 中......

即使它没有任何例外......我检查了......

4

0 回答 0