如何让一个安卓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在固定时间后过期[关闭]。的主要内容,如果未能解决你的问题,请参考以下文章
安卓系统的app,我需要它一直在后台运行,我该怎么加锁才可以 关闭其