计时器到期后,活动被多次调用

时间:2017-07-27 07:28:25

标签: android timer

我正在启动一个调用自身并包含一个计时器的活动,在计时器到期后,我想启动一个活动,但问题是计时器在调用活动的所有实例中同时到期,结果是在所有这些实例中调用第二个活动。如何避免这种情况。代码如下 - :

        public void onFinish() {
                        Intent intent = new Intent(Exam.this, ScoreCard.class);
                        intent.putExtra("scoreTillNow", scoreTillNow);
                        intent.putExtra("timeLeft", timeLeft);
                        intent.putExtra("reward", reward);
                        intent.putExtra("punishment", punishment);
                        intent.putExtra("totalTime", totalTime);
                        startActivity(intent);
                        finish();
                    }

2 个答案:

答案 0 :(得分:0)

在计时器活动以外的任何活动中为公共静态布尔变量进行控制,并将其初始化为false,如:

public static boolean timerExpired = false;

现在在计时器到期时检查此变量,如果它是false,则调用第二个活动并将变量更新为true。如果变量为true,则不执行任何操作。

答案 1 :(得分:0)

您可以在singleTask中使用launchMode singleInstanceManifest进行活动。
但请提供您的计时器代码和更多详细信息