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

标签 java android android-intent

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

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

主要 Intent :

 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);
    }

第二个 Intent :

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

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

最佳答案

我通过使用两个事件 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();
    }

关于Java 处理程序如何在不发送 onUserInteraction 方法的情况下执行 Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57955469/

相关文章:

java - android Intent 未激活

java - struts 2 验证没有正确地重新填充下拉列表

java - Android Gradle 与 Smooth Progress Bar 项目同步异常

android - Android Studio 中的 Drawables 变红

android - 在命令行上卸载 Android SDK 的选定部分

android - finish() 在第一次运行后调用时不关闭 Activity

java - VB6 应用程序与 Java 8u60 的串行通信

java - 具有 XML 配置的 ActiveMQ 嵌入式代理主题到队列桥

java - 调整自动完成字段大小黑莓

android - 多个 Intent 的 onActivityResult