2012-10-13 140 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中的监听器回调。