在我的应用程序中我设法确定是否有连接,但我希望该应用程序本身尝试重新连接5次,并且每次增加重新连接之间的间隔mi做了一些代码,但它不起作用,他给我立即回应。
这是我的重新连接课程:
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;
}
}
答案 0 :(得分:1)
你创建一个新的线程,它休眠了一段时间,但产生它的方法(重新连接)将立即返回。你应该使用带有postDelayed()的处理程序。
看看这里的答案:
How to run a Runnable thread in Android?
经常使用睡眠。正确的设计是在连接可用时实现侦听器并在UI中响应侦听器回调。