如何使应用程序只工作3天

时间:2012-12-11 11:27:08

标签: java android

我正在上述平板电脑上安装此应用程序,我打算将这款平板电脑提供给我的客户一两天,我想要的是:

在检查操作之后,客户端应该在到期日之后不能使用所述应用程序。为此我调用了压缩函数并将提取的系统日期(Day)与我希望应用程序关闭操作的那一天进行比较。我使用以下代码:

  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();在按钮上单击以检查,但我得到的是一个空白的黑屏几秒钟,然后应用程序工作正常。我不想要的。

3 个答案:

答案 0 :(得分:3)

要退出活动,请致电finish()

答案 1 :(得分:2)

拨打finish()而不是System.exit(0);并且还要检查月份,因为客户端也会在下个月的前十天使用该应用程序:P:P:P

答案 2 :(得分:1)

在调用expire()之后,使用finish()似乎正在模拟器上工作;来自onCreate而不是on按钮单击。但是,在真实设备上使用System.exit(0)确实有帮助,而finish()则没有。

System.exit()(在纯Java和核心Java中)可用于在程序退出之前运行关闭挂钩。这是在较大程序中处理关闭的一种方便方法,其中程序的所有部分都不能(并且不应该)彼此了解。然后,如果有人想要退出,他可以简单地调用System.exit(),并且关闭挂钩(如果正确设置)负责执行所有必要的关闭仪式,例如关闭文件,释放资源。

而在finish()的情况下,调用finish()的方法将运行完成。在将控制权返回给Android之前,finish()操作甚至不会开始。