我需要在我的应用程序中执行以下逻辑:每分钟,我都希望能够听 GPS 位置 20 秒以获取 GEO 位置修复。
这显然需要运行与 UI 线程不同的线程。
然而,我在结合使用 looper 和 timertask 时遇到了一些问题......
实现这一目标的最佳方法是什么?
我需要在我的应用程序中执行以下逻辑:每分钟,我都希望能够听 GPS 位置 20 秒以获取 GEO 位置修复。
这显然需要运行与 UI 线程不同的线程。
然而,我在结合使用 looper 和 timertask 时遇到了一些问题......
实现这一目标的最佳方法是什么?
我想您需要使用Service:
安卓文档:
服务是一个应用程序组件,它代表应用程序希望在不与用户交互的情况下执行更长时间运行的操作,或提供功能供其他应用程序使用。
所以服务使用requestLocationUpdates()启动LocationManager并实现LocationListener。
然后你有(至少)两个解决方案(取决于你想做什么):