如何在Android中设置过期日期
我有一个Android应用程序,我想给它测试的目的,在到期日后,该应用程序必须显示一个对话框,并阻止命令 下面是显示对话框和块命令的代码如何在Android中设置过期日期,android,android-calendar,Android,Android Calendar,我有一个Android应用程序,我想给它测试的目的,在到期日后,该应用程序必须显示一个对话框,并阻止命令 下面是显示对话框和块命令的代码 public void expired(){ bt1.setEnabled(false) bt2.setEnabled(false) bt3.setEnabled(false) bt4.setEnabled(false) bt5.setEnabled(false) Alerts.AppExpiredMessage(Hom
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日)?首先,没有一种方法可以100%保证防止黑客攻击,因为拥有根手机的经验丰富的程序员几乎可以做任何事情(包括反编译您的应用程序并对其进行黑客攻击) 最简单的方法是将过期日期设置为固定日期,您只需在应用程序中硬编码即可 如果你想让应用程序在安装后的某段时间(比如30天)过期,只需首先获取手机标识符(如IMEI)和/或android帐户(如电子邮件),然后将其存储到带有安装日期的服务器上。您还可以将安装日期存储在手机上(例如SharedReference),这样您就可以在每次运行时检查,而无需访问服务器 编辑 检查过期日期的最简单方法是使用
System.currentTimeMillis()
来避免处理时区。您可以使用在线服务,例如,了解有效期的epoch
值,然后在代码中进行检查
if(System.currentTimeMillis() >= EXPIRY_EPOCH){
}
从2014年12月31日起,我将对以下几组
进行测试:
GregorianCalendar expDate = new GregorianCalendar( 2013, 11, 31 ); // midnight
GregorianCalendar now = new GregorianCalendar();
boolean isExpired = now.after( expDate );
注:月份以0为基础。一月=0,十二月=11。我只想要一种简单的方法来验证实际日期是否早于设定的到期日期。。。这对我来说并不重要。因为我必须提供一个示例应用程序供审查,我希望该应用程序在某个精确日期后过期(例如2013年3月3日之后)@AndreaF要么硬编码到期日期,要么将安装日期存储为共享引用,都应该可以。@Code Guru问题是我没有日历管理经验,不知道如何在代码中比较和设置精确的日期。@AndreaF查看GregorianCalendar和date类。出于测试目的,您可以实例化gregoriacalendar(2013,2,14,21,20)代码>(美国中部时间,五分钟后到期——根据您自己的时区进行调整)我已经测试了您更改手机日期的代码,但由于某些原因,如果我设置了补偿日期(2013年3月29日),应用程序将在2013年4月29日后到期。有什么解决办法吗?谢天谢地,我总是忘记——月份是以0为基础的,请参见答案的编辑。