首页 > 解决方案 > 我正在开发一个只能在给定时间间隔访问的测验应用程序,每天

问题描述

我正在开发一个测验应用程序,它只能在每天给定的时间间隔访问。(比如上午 10:00:00 到 10:00:30 - 30 秒)
测验应该只在指定时间对用户开放。
在其他时间,如果用户打开应用程序,它应该只显示下一个测验的倒计时。

标签: android

解决方案


查看此示例代码以检查当前时间是否在 10:00:00 和 10:00:30 之间:

try {

            Calendar calendarCurrent = Calendar.getInstance();

            Calendar calendarBefore = Calendar.getInstance();
            calendarBefore.set(Calendar.SECOND, 0); // add second
            calendarBefore.set(Calendar.MINUTE, 0); // add minute
            calendarBefore.set(Calendar.HOUR_OF_DAY, 10); // add hour 0-24

            Calendar calendarAfter = Calendar.getInstance();
            calendarAfter.set(Calendar.SECOND, 30);
            calendarAfter.set(Calendar.MINUTE, 0);
            calendarAfter.set(Calendar.HOUR_OF_DAY, 10);

            Log.e("current", calendarCurrent.getTime().toString());
            Log.e("after", calendarCurrent.getTime().toString());
            Log.e("before", calendarCurrent.getTime().toString());

            if (calendarCurrent.compareTo(calendarBefore) > 0 && calendarCurrent.compareTo(calendarAfter) < 0) {
                //checkes the current time is between 10:00:00 and 10:00:30.
                // run your function
                Log.e("ok", "ok");
            }

        } catch (Exception e) {
            e.printStackTrace();
        }

对于倒数计时器,您可以使用以下代码:

new CountDownTimer(30000, 1000) {

    public void onTick(long millisUntilFinished) {
        Log.e("your timer", "seconds remaining: " + millisUntilFinished / 1000);
    }

    public void onFinish() {
        mTextField.setText("done!");
    }

}.start();

best way and safe way and correct way you need server api并设置特定的开始和结束时间,然后您的应用程序每时每刻都会检查它以进行开始测验。


推荐阅读