2017-06-07 2 views
0

Ich entwickle eine Android App, ich versuche, ein Vibrationsereignis zu verwalten. Ich muss es alle zufälligen Minuten planen, wenn ein Schalter überprüft wird. Ich habe mit diesem Code:So planen Sie ein zufälliges Timing (alle zufälligen Minuten) Ereignis

int delay3 = (60 + new Random().nextInt(60)) * 1000; 

timer3.schedule(timerTask3, 0, delay3); 

aber der Timer nicht delay3 ändert, bis der Schalter nicht aktiviert ist und erneut geprüft. Gibt es eine Möglichkeit, das Ereignis nach dem Zufallsprinzip zu planen, d. H. delay3 sollte sich jedes Mal ändern, wenn die Aufgabe ausgeführt wird, ohne den Schalter zu deaktivieren?

Vielen Dank.

+0

teilen Code, was Sie – sumit

Antwort

0

Planen Sie die Aufgabe so, dass sie einmal nach einer zufälligen Verzögerung ausgeführt wird. Innerhalb der Aufgabe, nach dem gewünschten Prozess, neu planen Sie es nach einer zufälligen Verzögerung.

Beispiel:

Random random = new Random(); 
Timer timer = new Timer(); 
timer.schedule(new MyTimerTask(timer, random), random.nextInt(10000)); 

mit:

private static class MyTimerTask extends TimerTask { 
    private final Timer timer; 
    private final Random random; 

    public MyTimerTask(Timer timer, Random random) { 
     this.timer = timer; 
     this.random = random; 
    } 

    @Override 
    public void run() { 
     System.out.println("TEST"); 
     timer.schedule(new MyTimerTask(timer, random), random.nextInt(10000)); 
    } 
} 
+0

Ihnen danken geschrieben haben. Es läuft gut. Kannst du mir bei der Aufgabe helfen? – italianfranny

Verwandte Themen