一尘不染

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

java

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

在检查完操作后,客户端应该不能在到期日期之后使用该应用程序。为此,我要调用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(); 在按钮上单击以进行检查,但我得到的只是黑屏几秒钟,然后该应用程序正常运行。我不要。


阅读 185

收藏
2020-12-03

共1个答案

一尘不染

在我调用expire()之后,使用finish()似乎可以在模拟器上运行;从onCreate而不是on按钮上单击。但是在真实设备上使用System.exit(0)会有所帮助,而finish()则没有。

System.exit()(在纯Java中和核心Java中)可用于在程序退出之前运行关闭挂钩。这是处理大型程序中关闭程序的便捷方法,在该程序中,程序的所有部分都无法(也不应该)相互了解。然后,如果有人要退出,他可以简单地调用System.exit(),然后关闭挂钩(如果设置正确)将负责执行所有必要的关闭程序,例如关闭文件,释放资源。

与finish()一样,调用finish()的方法将运行到完成。除非您将控制权返回给Android,否则finish()操作甚至不会开始。

2020-12-03