【问题标题】:Android: how can I show a button one day after installation?Android:安装一天后如何显示按钮?
【发布时间】:2014-12-13 09:02:52
【问题描述】:

我的主要活动中有一个按钮。默认情况下它是不可见的,但我想在安装我的应用程序后一天(或我的应用程序第一次运行后一天)让它可见。 所以当用户安装我的应用程序时,他看不到我的按钮。但安装一天后,他可以看到我的按钮。 我该怎么做?

【问题讨论】:

标签: android visible


【解决方案1】:

这里是解决方案... 首先获取安装日期,然后将该日期与当前日期进行比较。如果超过 1 天,您可以显示您的按钮。

这里是代码...

// ****************** To know installation date of application for button show **************//
    try {
        appInstalledDate = Splash.this.getPackageManager().getPackageInfo("your package name", 0).firstInstallTime;
         SimpleDateFormat sdf = new SimpleDateFormat("dd MMM,yyyy HH:mm");
            Date resultdate = new Date(appInstalledDate);
        Log.v("Installation date of app is ",","+resultdate);
    } catch (Exception e) {
        e.printStackTrace();
    }

在这里你可以显示你的按钮

try {
                SimpleDateFormat sdf = new SimpleDateFormat("MMM dd,yyyy HH:mm");

                Date resultdate = new Date(Long.parseLong(prefs.getString("email_prompt", "")));
                                    Log.v("current date ",","+sdf.format(new Date().getTime()));
                long diff = new Date().getTime() - resultdate
                long diffMinutes = (diff / 1000) / 60;
                long diffMinutes = (TimeUnit.MILLISECONDS.toMinutes(diff));
                Log.v("Difference in minutes is ",","+diffMinutes);

                if(1440 < diffMinutes)
                {
                 yourButton.show(); // show your button

                }
            } catch (Exception e) {
                e.printStackTrace();

            }

【讨论】:

    【解决方案2】:
    1. SharedPreferences (SP) 中存储一个名为hasRunOnce 的布尔值,并将其设置为默认值false
    2. onCreateif 子句中,SP hasRunOnce 必须为假,以毫秒为单位存储当前时间(System.currentTimeMillis() 可以,但您需要将Long)转换为SharedPreferences 中的整数调用 installTime 并将 SP hasRunOnce 设置为 true(因此我们将永远不会再次重新存储系统时间)。
    3. onCreate(或onResume)和if子句内部,当前系统时间必须大于installTime加上24 * 60 * 60 * 1000(一天的毫秒数),输入逻辑以使您的Button 视图可见。

    【讨论】:

      【解决方案3】:

      您第一次做的是获取系统时间和应用程序首次运行时间。在我建议您查看这两个链接之前

      get android current time

      get app first running time

      你的活动似乎是条件

      if(sysDateTime - appFirstRunTime > 24){
         yourButton.visiblty = true;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-13
        • 1970-01-01
        • 1970-01-01
        • 2017-03-28
        • 1970-01-01
        • 2016-03-02
        相关资源
        最近更新 更多