Как отменить n-секундный Thread.sleep, чтобы перезапустить его в Android?

Я пытаюсь сделать игру, которая включает в себя поток с 10-секундным Thread.sleep, что дает игроку максимальное время для реакции (когда сон заканчивается, и он/она ничего не выбрал, появляются новые вещи и это потерянная жизнь). Однако, если игрок выбрал вариант (независимо от того, правильный он или нет), новые вещи должны появиться немедленно, и сон должен быть «отменен», чтобы перезапустить эти 10 секунд. Другими словами, прямо сейчас, если сначала у меня есть 10 секунд, но через три секунды я выбираю вариант, то у меня есть еще 7 секунд до смены интерфейса, когда должно быть еще 10... Я знаю, что не могу это сломать. спать, но как я могу это сделать? Я не публикую ни одной строки кода, потому что я хотел бы сначала понять концепцию, а затем понять ее.


person user3053894    schedule 01.12.2013    source источник


Ответы (1)


Чтобы перезапустить приложение в Android, используйте следующий код:

PendingIntent intent = PendingIntent                                                .getApplicationContext(this, 0, new Intent(getApplicationContext .getIntent()),getActivity().getIntent().getFlags());                                                   

AlarmManager manager = (AlarmManager) getApplicationContext                                 .getSystemService(Context.ALARM_SERVICE);
                                 manager.set(AlarmManager.RTC,System.currentTimeMillis() + 3000,intent);

System.exit(2);
person Mohammed Saleem    schedule 01.12.2013