Есть кнопка, надо чтобы по нажатию на кнопку она становилась неактивной (setEnabled(false)) и в течение пяти часов оставалась такой, после пяти часов кнопка снова становится активной.
Как сделать неактивной я знаю, но не понимаю как сделать таймер, чтобы через 5 часов обратно активной стала (кнопка) и чтобы кнопка оставалась неактивной в течение этих пяти часов даже если приложение закрыли.
1. При нажатии на кнопку нужно сохранять timestamp куда-либо (в БД, в Preferences).
2. При открытии экрана с этой кнопкой сравнивать текущее время с сохраненным timestamp - если прошло 5 часов, кнопка создается на экране активной, если нет - кнопка создается неактивной.
3. Для активации кнопки в нужное время при постоянно открытом экране с этой кнопкой нужно воспользоваться какой-нибудь реализацией таймера. Таймер заводить при открытии экрана (onResume) на время, которое должно пройти с текущего момента до сохраненного timestamp + 5 часов и останавливать при закрытии экрана (onPause). Когда таймер сработал - кнопка активируется.