我已经尝试了所有示例。我知道很多例子。但是仍然没有解决问题。哈德哈德自己一个人。 主要逻辑是在启动时检查sharedPref是否为null。如果不是,则需要检查当前时间是否已经保存在sharedPref中。这是代码
private void makeRandomVisit(final List<User> userList) throws ParseException {
SharedPreferences prefs = getSharedPreferences(mSharedPrefName, MODE_PRIVATE);
Date date = new Date();
try {
date = DateFormat.getDateInstance().parse(prefs.getString(mTriggerTimePrefValue, null));
} catch (ParseException e) {
e.printStackTrace();
}
if (prefs.getString(mTriggerTimePrefValue, null) == null || getCurrentTime().after(date)) {
startVisiting(userList);
putSharedPrefValue(mTriggerTimePrefValue,getTriggerTime().toString());
}
}
这是从日志开始的时间
07-02 15:50:00.695 18264-18264/com.example.a3802256.myapplication D/test: currentDate-----> Tue Jul 02 15:50:00 EDT 2019
07-02 15:50:00.695 18264-18264/com.example.a3802256.myapplication D/test: date-----> Tue Jul 02 15:50:00 EDT 2019
07-02 15:50:00.695 18264-18264/com.example.a3802256.myapplication D/test: PrefDate-----> Tue Jul 02 16:48:12 EDT 2019
我不知道为什么从pref解析日期为当前日期?试图将其解析为simpleDate,但是字符串中间的时区存在问题 请让我知道哪里可能有问题