Java 使循环等待5分钟,然后再次执行

Java 使循环等待5分钟,然后再次执行,java,android,google-maps,sleep,Java,Android,Google Maps,Sleep,因此,我正在编写一个Android应用程序,希望有一个功能,每分钟左右检查一次位置数据(尚未决定多久检查一次)。 我知道我可以创建一个线程并让它休眠,但我不太喜欢这个选项,因为我必须为一个函数创建线程,然后锁定它,这样它就只能被那一个线程使用。 我想到的另一个选择是只使用一个无限循环来检查时间是否已过,但这会引发更严重的问题 因此,我的问题是,有没有更好的方法使循环在再次执行之前等待指定的时间段?您可以使用postDelayed(Runnable,long)来执行此操作。使用: 回答你的问题,不

因此,我正在编写一个Android应用程序,希望有一个功能,每分钟左右检查一次位置数据(尚未决定多久检查一次)。 我知道我可以创建一个线程并让它休眠,但我不太喜欢这个选项,因为我必须为一个函数创建线程,然后锁定它,这样它就只能被那一个线程使用。 我想到的另一个选择是只使用一个无限循环来检查时间是否已过,但这会引发更严重的问题


因此,我的问题是,有没有更好的方法使循环在再次执行之前等待指定的时间段?

您可以使用
postDelayed(Runnable,long)
来执行此操作。

使用:


回答你的问题,不是真的。然而,安卓平台是为支持这类事情而设计的。对服务和计时器做一些研究。

谢谢,这正是我想要的
final Handler handler = new Handler();
final long delay = 5 * 60 * 1000;

void executeSomething(){
    handler.postDelayed(new Runnable(){
        public void run(){
            // do your work

            if (continueToExecute){
                executeSoemthing();
            }
        }
    }, delay);
}