在我的应用程序中,我有一个线程,每60秒从一个Web服务检查数据(在onCreate()中定义):
new Thread(new Runnable() {
@Override
public void run() {
while (true) {
try {
Thread.sleep(PERIOD);
if(condition) do_something();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}).start();
另外,我还有一个处理程序,在用户闲置一段时间后执行一个方法:
private Handler disconnectHandler = new Handler();
private Runnable disconnectCallback = new Runnable() {
@Override
public void run() {
do_something_else();
}
};
public void resetDisconnectTimer(){
disconnectHandler.removeCallbacks(disconnectCallback);
disconnectHandler.postDelayed(disconnectCallback, TIMEOUT);
}
@Override
public void onUserInteraction() {
super.onUserInteraction();
resetDisconnectTimer();
}
现在我有一个问题,onUserInteraction()在PERIOD后也被调用,而不仅仅是TIMEOUT后。有什么想法可以让两个都起作用吗?
提前感谢。