FusedLocationProviderClient requestLocationUpdates:如果位置可用,如何进行轮询

时间:2019-03-06 17:22:19

标签: java android worker fusedlocationproviderclient

我有一个Android应用程序,其中GUI在主线程上运行。我在尝试获取位置的工作线程中。

我正在执行以下操作:

fusedLocationClient.requestLocationUpdates(locationRequest,
                locationCallback,
                null);

现在,这是在启动时发生的。如果启用了位置,则可以正常工作。我们会获取位置并显示在应用上。

但是,如果位置关闭,我希望上面的代码连续运行并在有位置时(即打开位置后)调用回调函数 我们该怎么做?看起来requestLocationUpdates会检查位置,如果未启用或未找到,则会退出。

我尝试添加一次睡眠以连续检查,但是这会使应用程序挂起。请注意,我正在一个单独的工作线程上运行它。

谢谢!

1 个答案:

答案 0 :(得分:0)

创建一个Service,该方法可以在oncreate方法中初始化熔丝位置并在ServiceActivity之间建立界限

这可以为您提供帮助。 https://developer.android.com/guide/components/bound-services?hl=es-419