Java 处理程序如何在不发送 onUserInteraction 方法的情况下执行意图



我想在一段时间后从主要意图执行另一个意图,当我关闭另一个意图时重新执行处理程序。

我的问题是,由于某种原因执行第二个意图后,程序认为其onUserInteraction方法并重新执行处理程序。

主要意图:

handler = new Handler();
r = new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
intent = new Intent(DataChecker.this, IdleImages.class);
startActivity(intent);
}
};
startHandler();
}
@Override
public void onUserInteraction() {
// TODO Auto-generated method stub
super.onUserInteraction();
stopHandler();//stop first and then start
startHandler();
}
public void stopHandler() {
handler.removeCallbacks(r);
}
public void startHandler() {
handler.postDelayed(r, 1*60*1000);
}

第二个意图:

@Override
public void onSliderClick(SliderView sliderView) {
Intent intent = new Intent();
setResult(2, intent);
finish();
}

当第二个意图关闭时,它应该重新启动计时器。

我通过使用两个事件onResume()onPause()来修复它

@Override
public void onPause () {
super.onPause();
Log.e("Yes", "I stoped the handler for you");
stopHandler();
}
@Override
public void onResume() {
super.onResume();
Log.e("Back", "I started the handler for you");
stopHandler();
startHandler();
}

相关内容

最新更新