要解决Android handlers 在指定的时间间隔内不起作用的问题,可以使用以下代码示例来修复:
首先,创建一个 Handler 对象和一个 Runnable 对象:
private Handler mHandler;
private Runnable mRunnable;
然后,在 onCreate 方法中初始化这些对象:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mHandler = new Handler();
mRunnable = new Runnable() {
@Override
public void run() {
// 在这里执行需要定期执行的任务
// 完成任务后,再次调用自身以实现循环执行
mHandler.postDelayed(this, 1000); // 延迟 1 秒后再次调用
}
};
}
之后,在 onStart 方法中启动定时任务:
@Override
protected void onStart() {
super.onStart();
mHandler.postDelayed(mRunnable, 1000); // 延迟 1 秒后开始执行
}
最后,在 onStop 方法中停止定时任务:
@Override
protected void onStop() {
super.onStop();
mHandler.removeCallbacks(mRunnable); // 停止执行定时任务
}
这样就可以确保在指定的时间间隔内定时任务正常执行。