【问题标题】:Close activity if Idle如果空闲则关闭活动
【发布时间】:2019-01-11 14:25:25
【问题描述】:

我有一个应用程序,我需要Activity在空闲时自动关闭,也就是说,如果用户30秒没有触摸屏幕,Activity会自动关闭。当用户使用(触摸)Activity 时,它将保持打开状态。

我正在使用CountDownTimer 方法,但即使用户正在使用该应用程序,它也会关闭。

有人可以帮帮我吗?

【问题讨论】:

    标签: android android-activity timeout


    【解决方案1】:

    取消和启动计时器怎么样。

    @Override
    public void onUserInteraction() {
        super.onUserInteraction();
        yourCountDownTimer.cancel();
        yourCountDownTimer.start();
    }
    

    【讨论】:

      【解决方案2】:

      您可以像这样使用touch listener 并重置倒数计时器或用于关闭活动的线程

      @Override
      public boolean onTouchEvent(MotionEvent event) {
          //mGestureDetector.onTouchEvent(event);
      
      int action = event.getActionMasked();
      
      switch (action) {
      
          case MotionEvent.ACTION_DOWN:
              initialX = event.getX();
              initialY = event.getY();
      
              Log.d(TAG, "Action was DOWN");
              break;
      
          case MotionEvent.ACTION_MOVE:
              Log.d(TAG, "Action was MOVE");
              break;
      
          case MotionEvent.ACTION_UP:
              float finalX = event.getX();
              float finalY = event.getY();
      
              Log.d(TAG, "Action was UP");
      
              if (initialX < finalX) {
                  Log.d(TAG, "Left to Right swipe performed");
              }
      
              if (initialX > finalX) {
                  Log.d(TAG, "Right to Left swipe performed");
              }
      
              if (initialY < finalY) {
                  Log.d(TAG, "Up to Down swipe performed");
              }
      
              if (initialY > finalY) {
                  Log.d(TAG, "Down to Up swipe performed");
              }
      
              break;
      
          case MotionEvent.ACTION_CANCEL:
              Log.d(TAG,"Action was CANCEL");
              break;
      
          case MotionEvent.ACTION_OUTSIDE:
              Log.d(TAG, "Movement occurred outside bounds of current screen element");
              break;
      }
      
      return super.onTouchEvent(event);
      

      }

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-07-14
        • 2015-02-18
        • 1970-01-01
        • 2021-12-29
        • 1970-01-01
        • 2011-05-16
        • 2023-03-27
        相关资源
        最近更新 更多