我正在制作一个Android应用程序,并且我制作了一个类来分离和更轻松地管理与获取用户位置有关的代码。由于FusedLocationProviderClient需要一些时间来做出响应并执行onSuccess或onFailure侦听器中的代码,因此我制作了一种方法(waitForLocation()
),该方法基本上等待直到其中一个侦听器被执行或超过了时间限制。 / p>
waitForLocation()
方法是一种阻塞方法,它等待gotResponse
变成true
才能让其余线程继续运行(gotResponse
也将变成true
如果超过了时间限制。
问题在于,为了阻止代码在gotResponse
为true
之前一直运行,我使用的是Thread.sleep()
方法,但是所有的后台任务,例如{ {1}},并且侦听器似乎也与主线程一起冻结(CountDownTimer
没有滴答声,并且侦听器从不执行)。
请帮助! 在此先感谢:D
这是我的课程:
CountDownTimer
答案 0 :(得分:0)