首页 > 解决方案 > 如何在android上一天只显示一次欢迎屏幕?

问题描述

如何在android上一天只显示一次欢迎屏幕?我正在准备一个带有表情符号雨滴的屏幕,我想在第一次打开应用程序时每天只显示一次。

public class MainActivity extends AppCompatActivity {
    private EmojiRainLayout emojiRainLayout;
    Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        emojiRainLayout = (EmojiRainLayout) findViewById(R.id.activity_main);
        button = findViewById(R.id.startbutton);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                emojiRainLayout.addEmoji(R.drawable.bell);
                emojiRainLayout.addEmoji(R.drawable.coconut);
                emojiRainLayout.addEmoji(R.drawable.deepam);
                emojiRainLayout.addEmoji(R.drawable.flower);
                emojiRainLayout.addEmoji(R.drawable.folded);

                emojiRainLayout.stopDropping();
                emojiRainLayout.setPer(4);
                emojiRainLayout.setDuration(7200);
                emojiRainLayout.setDropDuration(2400);
                emojiRainLayout.setDropFrequency(500);
                emojiRainLayout.startDropping();
            }
        });


    }
}

标签: android

解决方案


  1. 当您第一次显示它时,将 currentTime 保存到 SharedPreferences 中,例如将 System.currentTimeMillis() 保存为 t1,
  2. 第二次,通过 System.currentTimeMillis() 获取当前时间 t2,
  3. 读取您的 t1,并通过新的 SimpleDateFormat("yyyy-MM-dd") 从 t1 和 t2 获取 day1 和 day2,
  4. 比较第 1 天和第 2 天,如果第 2 天大于第 1 天,则显示它并在 SharedPreference 中更新您的 t1 或第 1 天和第 2 天相同,然后什么也不做。

推荐阅读