如何在Android中设置过期日期

时间:2013-02-15 02:48:04

标签: android android-calendar

我有一个Android应用程序,我想将其用于测试目的,在到期日之后,应用程序必须显示一个对话框并阻止命令。

这里是我的代码,用于显示对话框和阻止命令

public void expired(){
    bt1.setEnabled(false)
    bt2.setEnabled(false)
    bt3.setEnabled(false)
    bt4.setEnabled(false)
    bt5.setEnabled(false)
Alerts.AppExpiredMessage(Home.this);
}

但如何在Android中以

的形式设置到期日期
if(appLicenseExpired){
void expired();
}

验证实际日期是先前设定的到期日期(例如2013年3月3日)??

2 个答案:

答案 0 :(得分:6)

截至2014年12月31日,以下内容为isExpired

GregorianCalendar expDate = new GregorianCalendar( 2013, 11, 31 ); // midnight
GregorianCalendar now = new GregorianCalendar();

boolean isExpired = now.after( expDate );

注意:月份从0开始。 1月= 0,12月= 11。

答案 1 :(得分:0)

首先,没有100%保证可以防止黑客攻击的方法,因为有经验的程序员使用root手机几乎可以做任何事情(包括反编译应用程序并破解它)

最简单的方法是将到期日期设为固定日期,您只需在应用中对其进行硬编码即可。

如果你想让应用程序在安装时间(比如30天)的一段时间后过期,只需在第一个获取电话标识符(例如IMEI)和/或Android帐户(例如电子邮件),然后将其存储到服务器的安装日期。您也可以将安装日期存储在手机上(例如SharedPreference),这样您无需前往服务器即可检查每次运行。

修改

检查到期日期的最简单方法是使用System.currentTimeMillis()来避免处理TimeZone。您可以使用Epoch Time Converter等在线服务来了解到期日期的epoch值,并在代码中查看

if(System.currentTimeMillis() >= EXPIRY_EPOCH){

}