【发布时间】:2020-06-14 09:05:51
【问题描述】:
我在做什么
所以我正在开发一个天气预报应用程序,在该应用程序中我使用 fusedLocationProviderClient.lastLocation 访问设备位置,我们大多数人都知道位置提供程序返回一个任务,因此我使用延迟协程,以便每当任务得到完成它给了我设备位置 请查看代码以更好地理解
private fun getLastDeviceLocation(): Deferred<Location?> {
return if (hasLocationPermission())
fusedLocationProviderClient.lastLocation.asDeferred()
else
throw LocationPermissionNotGrantedException()
}
我的问题是什么
但是现在我希望我的位置是一个实时位置,因此我必须使用协程流,这样每当我的位置发生变化时,我就可以自动获取新位置的天气,但是因为我是新手kotlin coroutines 我不知道如何实现这一点以及我如何能够使用带有延迟的流,
任何人都可以帮助我,或者如果这不可行,请建议我做一些其他的工作来实现我的目标 提前致谢
【问题讨论】:
标签: android fusedlocationproviderapi kotlin-coroutines kotlinx.coroutines.flow