2016-07-04 2 views
2

Я реализую таймер неактивности на основе этого ответа: https://stackoverflow.com/a/12481918/6298161Android таймер неактивного

мне нужен таймер для работы на нескольких мероприятиях, так как комментарии свидетельствуют от первоначального поста я должен изменить Handler и Runnable быть статичный.

Как мне перенаправить на новую активность в runnable, где я разместил комментарий? Любая помощь с благодарностью

public class InactivityTimerActivity extends AppCompatActivity { 


    public static final long DISCONNECT_TIMEOUT = 300000; // 5 min = 5 * 60 * 1000 ms 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_inactivity_timer); 
    } 


    private static Handler disconnectHandler = new Handler() { 
     public void handleMessage(Message msg) { 
     } 
    }; 

    private static Runnable disconnectCallback = new Runnable() { 
     @Override 
     public void run() { 
      // I want to redirect here 
     } 
    }; 

    public void resetDisconnectTimer() { 
     disconnectHandler.removeCallbacks(disconnectCallback); 
     disconnectHandler.postDelayed(disconnectCallback, DISCONNECT_TIMEOUT); 
    } 

    public void stopDisconnectTimer() { 
     disconnectHandler.removeCallbacks(disconnectCallback); 
    } 

    @Override 
    public void onUserInteraction() { 
     resetDisconnectTimer(); 
    } 

    @Override 
    public void onResume() { 
     super.onResume(); 
     resetDisconnectTimer(); 
    } 

    @Override 
    public void onStop() { 
     super.onStop(); 
     stopDisconnectTimer(); 
    } 
} 
+0

Создайте класс, расширив Runnable, используя конструктор с параметром контекста. –

ответ

0

Я думаю, вы не должны статично. Просто сохраните это защищенное, а затем, когда начните новую деятельность, поместите целочисленную переменную внутри намерения (оставшееся время или время выполнения таймера). Затем, когда при создании нового действия вы получите это значение и установите свою базу таймера на это значение.

Смежные вопросы