0
我正在嘗試檢查用戶執行操作後是否已經過去了一個多小時。檢查在Android應用程序打開之間是否已經過了1小時?
當前我將日期/時間存儲在sharedpreferences中,然後當用戶再次點擊活動時,我檢查當前時間的sharedpref時間。例如,如果用戶在今天上午10點在應用程序中執行某些操作,然後明天上午3點再回來,那麼我想知道是否已經過了一個多小時。
我試了一堆從SO的答案,沒有運氣。似乎sharedpref時間正在保存爲'8/17/16'與timeInMili的日期。任何幫助都會很棒。
活性方法:
lastConfigCheck = prefs.getString("LAST_CONFIG_CHECK_DATE", null);
if (lastConfigCheck == null) {
lastConfigCheck = String.valueOf(System.currentTimeMillis());
editor.putString("LAST_CONFIG_CHECK_DATE", lastConfigCheck);
editor.apply();
Log.d("hellohours", lastConfigCheck);
}
else {
long todaysTime = System.currentTimeMillis();
Long timeElapsed = todaysTime - Long.valueOf(lastConfigCheck);
if (timeElapsed > 120000) {
Log.d("hellohours", "boom digity");
} else {
Log.d("hellohours", "boom awesome");
}
}
當我檢查logcat的,它指出該行
Long timeElapsed = todaysTime - Long.valueOf(lastConfigCheck);
原因:
"java.lang.NumberFormatException: Invalid long: "8/17/2016"'
@sumandas有正確的答案和工作。然而,要指出要確保所有變量都是正確的「類型」。我遇到問題的原因是因爲當我使用'Long'時我使用'long'。 – AndroidDev21921