Вы можете сэкономить время, когда нажимаете кнопку для общих настроек.Затем в следующий раз, когда вы создадите действие / фрагмент, вы прочитаете значение и вычтите его до текущего времени.Если прошло более 6 часов, вы активируете кнопку, если нет - отключите ее.Недостаток: если устройство рутовано и пользователь меняет сохраненное значение, у него бесконечные нажатия кнопок.Вы можете найти информацию о шифровании общих настроек, чтобы обойти это, например, здесь: https://medium.com/@ali.muzaffar/securing-sharedpreferences-in-android-a21883a9cbf8
myButton.setEnabled(false) // turn it off by default
if (currenttime-secondtime>=21600000) { // check if it can be enabled; 21600000ms is 6 hours
myButton.setEnabled(true); // wait time is up, enable button
editor.putLong("writetime", currenttime); // since we enabled the button right now, we save the current time
mybutton.setOnClickListener(new View.OnClickListener() { // user can click the button, add listener
public void onClick(final View v) {
// do whatever you want to do when the user can click the button
}
});
}
Я бы пошел с чем-то вроде этого (заменив mybutton.setOnClickListener (...) часть)