在我的应用程序中,我得到了一个线程,它每 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 之后。有什么想法可以让两者都工作吗?
提前致谢。