【问题标题】:How to make an Android App expires after a fixed time period [closed]如何使Android App在固定时间段后过期[关闭]
【发布时间】:2020-04-22 17:04:16
【问题描述】:

我想编写一个仅在一个月内可用的应用程序。我想在启动应用程序时检查它是否超过了给定日期(2020 年 5 月 22 日,但我不知道该怎么做。有人可以告诉我如何将当前时间与预设日期进行比较吗?

【问题讨论】:

标签: java android time


【解决方案1】:

将此代码放入您应用的onCreate() 方法并更改日期。日期到期后将调用doSomething() 方法。

String expiryDateString = "22-May-2020"; // upcoming date
DateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy");
Date expiryDate = formatter.parse(expiryDateString);

if(System.currentTimeMillis() > expiryDate.getTime()){
    // app is expired
    doSomething();
}

但请注意,这不是一种安全的方法,因为可以更改系统时间和日期,并且此测试会失败。所以更好的方法是在服务器中使用标志并在每次应用启动时检查它。

【讨论】:

【解决方案2】:

创建一个包含当前时间的静态变量,并在程序启动时检查它(或者如果你需要,则在循环中检查它)

public class Main {
    private static final long DATE_STARTED = 1587575414548;

    if(DATE_STARTED + 2592000000 < System.currentTimeInMillis()) { // 2592000000 is 30 days in milliseconds
        // Handle stuff here
    }
}

【讨论】:

    【解决方案3】:

    离开@JackChap77 的评论,如果你想找到当前时间,使用 new Date().getTime() 以毫秒为单位检索当前时间,然后将其存储在最终变量中。不过,请确保只使用一次,因为您不想在每次加载程序时都检索当前时间。

    【讨论】:

      猜你喜欢
      • 2011-04-16
      • 1970-01-01
      • 2015-02-04
      • 1970-01-01
      • 1970-01-01
      • 2012-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多