在我的学校项目的Android应用程序中,我想这样做:
每天,当您第一次打开应用程序时,它将启动一项活动。但是,如果您在多任务处理视图中关闭应用程序后再次打开它,它将不会再次启动该活动。
我希望它与Elevate(https://www.elevateapp.com/)非常相似,在首次启动时,它会说“您当天的训练课程已准备就绪”,但如果您在其他时间打开应用程序,则不会再显示此内容一天。
我已尝试在此Alarm Manager Example链接中使用AlarmManager
并搜索答案,但它对我无效,我找不到任何答案。
有没有办法让它成为可能?提前谢谢。
答案 0 :(得分:3)
我们可以使用SharedPreferences存储应用启动时的系统日期,并在每次应用运行时验证它是相同的日期还是不同的日期。
如果日期不同,请将新日期存储到您使用的SharedPreferences句柄中。
要了解如何使用SharedPreference存储数据,您可以查看我的答案here作为示例。
答案 1 :(得分:1)
首先在全局级别
声明这两种方法 public static void commitPref(String key, String value, Context context) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
SharedPreferences.Editor editor = prefs.edit();
editor.putString(key, value);
editor.commit();
}
public static String readPref(String key, Context context) {
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
return preferences.getString(key, null);
}
现在保持你的逻辑..
if (!readPref("CHECK_IF_RUN_TODAY", getApplicationContext()).equals(new SimpleDateFormat("yyyy-MM-dd", Locale.US).format(new Date()))){
//YOUR LOGIC
commitPref("CHECK_IF_RUN_TODAY", new SimpleDateFormat("yyyy-MM-dd", Locale.US).format(new Date()), getApplicationContext());
}
但不要忘记在你的逻辑之后提升你的偏好 希望这会有所帮助..