我正在上述平板电脑上安装此应用程序,我打算将此平板电脑提供给客户一两天,我想要的是:
在检查完操作后,客户端应该不能在到期日期之后使用该应用程序。为此,我要调用calander函数,并将提取的系统日期(天)与希望应用程序关闭操作的日期进行比较。我正在使用以下代码:
public void expire(){ Calendar c = Calendar.getInstance(); int sDate = c.get(Calendar.YEAR); int sMonth = c.get(Calendar.MONTH)+1; int sDay = c.get(Calendar.DAY_OF_MONTH); int sHour = c.get(Calendar.HOUR_OF_DAY); int sMin = c.get(Calendar.MINUTE); Toast.makeText(getApplicationContext(), ""+sDate+sMonth+sDay+"Hour is"+sHour, Toast.LENGTH_LONG).show(); if (sDay >=11){ System.exit(0); } }
我打电话给expire(); 在按钮上单击以进行检查,但我得到的只是黑屏几秒钟,然后该应用程序正常运行。我不要。
在我调用expire()之后,使用finish()似乎可以在模拟器上运行;从onCreate而不是on按钮上单击。但是在真实设备上使用System.exit(0)会有所帮助,而finish()则没有。
System.exit()(在纯Java中和核心Java中)可用于在程序退出之前运行关闭挂钩。这是处理大型程序中关闭程序的便捷方法,在该程序中,程序的所有部分都无法(也不应该)相互了解。然后,如果有人要退出,他可以简单地调用System.exit(),然后关闭挂钩(如果设置正确)将负责执行所有必要的关闭程序,例如关闭文件,释放资源。
与finish()一样,调用finish()的方法将运行到完成。除非您将控制权返回给Android,否则finish()操作甚至不会开始。