Вот идея, как вы можете решить эту задачу:
Во-первых, вам нужен Runnable (), который будет запускаться по истечении времени ожидания (например, 10 секунд). Ниже приводится Runnable ():
private Runnable DoOnTimeOut = new Runnable()
{
public void run()
{
// Do something Here
}
}
Теперь в своей деятельности вы можете вызвать postDelayed для DoOnTimeOut:
Handler hl_timeout = new Handler();
@Override
public void onCreate(Bundle b)
{
hl_timeout.postDelayed(DoOnTimeOut, 10000); // The DoOnTimOut will be triggered after 10sec
}
Теперь наиболее важной частью является то, что, когда вы видите взаимодействие с пользователем, вы хотите отменить вызов DoOnTimeOut, а затем снова установить вызов на следующие 10 секунд. Вот метод переопределения вашей активности для взаимодействия с пользователем:
@Override
public void onUserInteraction()
{
super.onUserInteraction();
//Remove any previous callback
hl_timeout.removeCallbacks(DoOnTimeOut);
hl_timeout.postDelayed(DoOnTimeOut, 10000);
}
Надеюсь, это будет полезно для вас.