我正在試圖製作一個應用程序,允許用戶每天只訪問一次信息,以向用戶顯示他需要等待多長時間才能再次看到該信息。
這裏是我的代碼:每日申請
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