我正在试图制作一个应用程序,允许用户每天只访问一次信息,以向用户显示他需要等待多长时间才能再次看到该信息。
这里是我的代码:每日申请
long aux_time = prefs.getLong("AUX",System.currentTimeMillis());
Log.v(TAG, "aux=" + aux_time);
Log.v(TAG, "time" + System.currentTimeMillis());
if(System.currentTimeMillis() > aux_time + (10000 * 60 * 60 * 24))
{
finish();
Intent intent = new Intent(Castle.this, Hug.class);
startActivity(intent);
}
if (System.currentTimeMillis() >= aux_time + (10000 * 60 * 60 * 24))
{
SharedPreferences.Editor editor = prefs.edit();
editor.putLong("AUX", System.currentTimeMillis());
editor.commit();
finish();
Intent intent = new Intent(Castle.this, Hug_Accepted.class);
startActivity(intent);
}
我测试的代码。而且,我相信它在24小时后会打开,但是当我第一次打开该活动时它不会打开,因为当我在第二个项目中比较它们时,这两者之间存在0.00000000001毫秒的差异。有任何想法吗?
或者他可以在这种情况下使用'日历'或'时间'对象来避免特殊情况下每天的时间多于/少于24小时(夏令时)的问题。 – Jave 2012-03-14 14:33:17
我正在这样想。用户对该受限活动的访问权限存储在k中。当k == 1时,用户可以输入活动,如果它是0,则不输入。我正在尝试做这样的事情。 K将保持为0,直到当前时间=辅助时间(即使应用程序关闭),当相等为真时,在活动开始之前,k = 1也是真实的。 – AnTz 2012-03-14 19:41:36
试过这个。我相信这个代码对我来说是对的,但我的应用程序总是允许用户输入活动,不知道为什么。 – AnTz 2012-03-14 19:47:59