如果您想存储用户上次打开您的应用程序的时间,您可能需要使用 SharedPreferences 并存储用户打开您的应用程序的时间,然后将存储的值与下一次打开应用程序的时间进行比较,检查是否时差大于 1 天。
首先,回答您的实际问题: System.currentTimeMillis() 返回自“纪元”(1970 年 1 月 1 日 00:00:00)以来经过的毫秒数。它在文档上。
现在,为了存储用户打开你的应用程序的时间,你应该在你的主要活动的 onCreate 上做这样的事情(或者你的应用程序的 onCreate,取决于你的场景):
SharedPreferences preferences = getSharedPreferences(PREF_FILENAME, MODE_PRIVATE);
long openTime = System.currentTimeMillis();
preferences.edit()
.putLong(OPEN_TIME_KEY, openTime)
.commit();
最后,用于检查您的应用程序的最后一次和当前打开之间的时间差(您应该在第一个代码片段之前执行此操作,而不是在阅读之前覆盖存储的首选项):
long day = 24 * 60 * 60 * 1000; // Milliseconds in a day. Define this as a constant
SharedPreferences preferences = getSharedPreferences(PREF_FILENAME, MODE_PRIVATE);
long openTime = System.currentTimeMillis();
long lastTime = preferences.getLong(OPEN_TIME_KEY, 0);
if ((openTime - lastTime) > day) {
// do your thing here
}
您显然应该在两个片段(openTime 和首选项)上重用一些变量,但无论如何我这样做是为了让您理解这个概念并自己实现它,而不仅仅是复制代码。无论如何,我认为这是工作,祝你好运!