java - 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();
}
推荐阅读
- django - 如何确保在我的 Django 管理表单中显示一个额外的字段?
- flutter - 在堆栈中按基线对齐图标
- angular - 如何将模型分配给模型数组?
- excel - 为每一列创建唯一的工作簿
- android - 我们如何以编程方式在 Android Q OS 中实现可搜索的进度条?
- typescript - 提取泛型类型不返回输入类型
- android - 从表面视图camera2 api获取相机预览帧
- javascript - 如何检测使用javascript单击了哪个按钮?
- django - 将整个 django 应用程序限制为普通用户
- php - Laravel Scout - 创建时不添加关系