Я просто ударил это тоже. Оказывается, что по крайней мере для меня это было связано с попыткой использовать win64-версию JRE с win32 Eclipse. Кажется, что win32 Eclipse требует win32 Java (то, что называется -586 в списке установщиков Java от Oracle / Sun).
Причина, по которой я использовал оба, заключается в том, что я пытался определить ошибку, которая проявилась только в 64-битном Eclipse, поэтому мне нужно сопоставить 32-разрядную версию.
Как только я установил BOTH версии «x64» (win64) и «i586» (win32) JRE на моей машине, все работает нормально и без ошибок 13. Возможно, вы оба установили одновременно.
Я бы просто сохранил дату последнего щелчка (например, в SharedPreference
), и каждый раз, когда активность / фрагмент становится активным, вы проверяете значение и вычитаете его до текущей даты.
Если ваше приложение является общедоступным, в котором пользователь имеет возможность изменять часы устройства, вы можете настроить BroadcastReceiver
, который срабатывает при каждом изменении часов, блокирует ваше приложение или выполняет соответствующее действие.
Если эта кнопка срабатывает и выполняет действие в каком-либо собственном API, лучший способ справиться с ней - записать последний раз на вашем сервере. Помните, что мы ограничены во многих отношениях в клиентском приложении.
Вы можете проверить текущее время из API и сохранить его в настройках при нажатии кнопки, а также включить / отключить кнопку в соответствии с этим.