如何让一个安卓APP在固定时间后过期[关闭]。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让一个安卓APP在固定时间后过期[关闭]。相关的知识,希望对你有一定的参考价值。

我想编程一个应用程序,将是一个只有一个月的valiable。我想在启动应用程序时,检查它是否超过了那个给定的日期(2020年5月22日,但我不知道如何做到这一点。22,但我不知道如何做到这一点。谁能告诉我如何比较当前时间和预设日期?

答案

把这个代码在你的应用程序的 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();
}

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

另一答案

制作一个包含当前时间的静态变量,并在程序启动时检查它(如果你需要的话,也可以在循环中检查

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
    }
}
另一答案

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

以上是关于如何让一个安卓APP在固定时间后过期[关闭]。的主要内容,如果未能解决你的问题,请参考以下文章

如何在安卓手机里运行JAVA程序?

安卓系统的app,我需要它一直在后台运行,我该怎么加锁才可以 关闭其

手机app如何制作

安卓studio已经成功在机子上运行了一个app,怎么让代码第二次运行安装时不是覆盖已经有的app。

如何简单实现安卓app自动更新功能

我想让一个app始终在后台运行,不被杀掉进程,怎么设置?