2017-07-27 45 views
-1

我正在啓動一個調用自身幷包含一個定時器的活動,並且在定時器到期後,我想啓動一個活動,但問題是計時器在所有實例中同時過期該活動被調用,結果第二個活動在所有這些實例中被調用。如何避免這一點。代碼如下 - :在定時器到期後被調用很多次的活動

 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(); 
        } 
+0

計時器代碼在哪裏? – k0sh

回答

0

Decalare比你的計時器活動以外的任何活動公共靜態布爾變量並將其初始化爲假像:

public static boolean timerExpired = false; 

當計時器到期,現在檢查這個變量如果它是false,則調用第二個活動並更新變量爲true。如果變量爲真,則不做任何事情。

0

對於您的活動,您可以在Manifest中使用launchModesingleTasksingleInstance
但請提供您的計時器的代碼和更多詳細信息

相關問題