Android 安卓:安装一天后我如何显示按钮?

Android 安卓:安装一天后我如何显示按钮?,android,visible,Android,Visible,在我的主要活动中有一个按钮。默认情况下,它是不可见的,但我想在安装我的应用程序后一天(或者在第一次运行我的应用程序后一天)使它可见。 因此,当用户安装我的应用程序时,他看不到我的按钮。但安装后的一天,他可以看到我的按钮。 我怎么做 在名为hasrononce的SharedReferences(SP)中存储布尔值,将其设置为默认值false 在onCreate中,在SPhasrononce必须为false的if子句中,以毫秒为单位存储当前时间(System.currentTimeMillis()将

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

  • 在名为
    hasrononce
    SharedReferences
    (SP)中存储布尔值,将其设置为默认值
    false
  • onCreate
    中,在SP
    hasrononce
    必须为false的
    if
    子句中,以毫秒为单位存储当前时间(
    System.currentTimeMillis()
    将起作用,但您需要将
    转换为Long
    )在
    SharedReferences
    中调用
    installTime
    并将SP
    hasRunOnce
    设置为
    true
    (因此我们将不再重新存储系统时间)
  • onCreate
    (或
    onResume
    )和当前系统时间必须大于
    installTime
    加上24*60*60*1000(相当于一天的毫秒数)的
    if
    子句内部,输入逻辑以使
    按钮可见
    
  • 在名为
    hasrononce
    SharedReferences
    (SP)中存储布尔值,将其设置为默认值
    false
  • onCreate
    中,在SP
    hasrononce
    必须为false的
    if
    子句中,以毫秒为单位存储当前时间(
    System.currentTimeMillis()
    将起作用,但您需要将
    转换为Long
    )在
    SharedReferences
    中调用
    installTime
    并将SP
    hasRunOnce
    设置为
    true
    (因此我们将不再重新存储系统时间)
  • onCreate
    (或
    onResume
    )和当前系统时间必须大于
    installTime
    加上24*60*60*1000(相当于一天的毫秒数)的
    if
    子句内部,输入逻辑以使
    按钮可见
    这是解决方案。。。
    首先获取安装日期,然后将该日期与当前日期进行比较。如果超过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();
    
                }
    
    试试看{
    SimpleDataFormat sdf=新的SimpleDataFormat(“mm-dd,yyyy-HH:mm”);
    Date resultdate=新日期(Long.parseLong(prefs.getString(“电子邮件提示”),“”);
    Log.v(“当前日期”、“,”+sdf.format(new date().getTime());
    long diff=新日期().getTime()-resultdate
    长diff分钟=(diff/1000)/60;
    long diffMinutes=(TimeUnit.millides.toMinutes(diff));
    Log.v(“分钟差为“,”,“+diffMinutes);
    如果(1440分钟)
    {
    yourButton.show();//显示按钮
    }
    }捕获(例外e){
    e、 printStackTrace();
    }
    
    以下是解决方案。。。 首先获取安装日期,然后将该日期与当前日期进行比较。如果超过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();
    
                }
    
    试试看{
    SimpleDataFormat sdf=新的SimpleDataFormat(“mm-dd,yyyy-HH:mm”);
    Date resultdate=新日期(Long.parseLong(prefs.getString(“电子邮件提示”),“”);
    Log.v(“当前日期”、“,”+sdf.format(new date().getTime());
    long diff=新日期().getTime()-resultdate
    长diff分钟=(diff/1000)/60;
    long diffMinutes=(TimeUnit.millides.toMinutes(diff));
    Log.v(“分钟差为“,”,“+diffMinutes);
    如果(1440分钟)
    {
    yourButton.show();//显示按钮
    }
    }捕获(例外e){
    e、 printStackTrace();
    }
    
    您的第一个操作是获取系统时间和应用程序第一次运行时间。在我建议你查找这两个链接之前

    以及你的活动中的make if条件

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

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

    以及你的活动中的make if条件

    if(sysDateTime - appFirstRunTime > 24){
       yourButton.visiblty = true;
    
    然后检查是否超过一天。(请注意,您可以将此值缓存到某个位置,以避免每次都执行它),然后检查是否已过一天。(请注意,您可以将此值缓存到某个位置,以避免每次都执行它)