一个接一个地运行不同标准的位置更新
如何使用“requestforlocationupdates”针对不同标准一个接一个地运行位置更新。
我面临的问题是,当我为三个条件运行 locationupdates 时,代码开始执行第一个条件,然后似乎启动了一个单独的线程,它等待位置更改并与侦听器一起工作。因此,在我什至删除第一个条件的更新之前,我的第二个条件已经开始在主线程中执行,并再次使用新条件请求位置更新。结果我总是只能运行最后一个标准。
如何使用“requestforlocationupdates”针对不同标准一个接一个地运行位置更新。
我面临的问题是,当我为三个条件运行 locationupdates 时,代码开始执行第一个条件,然后似乎启动了一个单独的线程,它等待位置更改并与侦听器一起工作。因此,在我什至删除第一个条件的更新之前,我的第二个条件已经开始在主线程中执行,并再次使用新条件请求位置更新。结果我总是只能运行最后一个标准。
LocationManager.getBestProvider()函数为您返回可用的最佳提供程序。如果没有符合您条件的提供者,则会放宽直到找到提供者。您可以将您对标准的定义视为上边界。
如果您想使用不同的标准,您可以在LocationListener.onStatusChanged()回调中检查实际使用的提供程序。如果您不喜欢该提供商(因为它是网络并且您想要 GPS fe),则可以开始对提供商提出新的请求。