2012-10-13 188 views
0

在我的應用程序中,我設法確定是否存在連接,但我希望該應用程序本身嘗試重新連接5次,並且每次增加重新連接的時間間隔mi都做了一些代碼,但它沒有工作,他立即給我答覆。Android重新連接互聯網問題

這裏是我重新連接類:

public class ReestablishConnection { 
    Application APP = new Application(); 
    boolean status; 
    int reconnectInterval = 1000; 
    int i; 

    public boolean reconnect(String URL){ 
     Thread timer = new Thread(){ 
      public void run(){ 
        for(i=1;i<6;i++){ 
         if(APP.testConnection(APP.defaultUrl()) == 0){ 
          status = false; 
         }else if(APP.testConnection(APP.defaultUrl()) == 1){ 
          status = true; 
         } 
         try { 
          sleep(reconnectInterval * i); 
         } catch (InterruptedException e) { 
          // TODO Auto-generated catch block 
          e.printStackTrace(); 
         } 
        } 


      } 
     }; 
     return status; 
    } 



} 

回答

1

您創建一個新的線程,休眠一段時間,但它催生了它(重新)方法會立即返回。你應該用postDelayed()來使用Handler。

看看這裏的答案:

How to run a Runnable thread in Android?

睡眠時使用過於頻繁。正確的設計是在連接可用時實現監聽器,並響應UI中的監聽器回調。