在屋外进行了几个小时的测试后,当我回到家时,我发现GPS已启用但未在建筑物内部进行定位修复。因此无法调用onLocationChanged
方法。< / p>
问题:如何知道GPS没有得到任何位置修复,因为设备继续在“尝试模式”中感知您的位置。通过尝试模式我的意思是它没有来到任何地方结果即使在20到30分钟之后仍然会将其声明为启用状态(状态栏中闪烁)。
如何知道GPS无法获取位置,因此切换到另一个提供商,如Network_Provider。
简而言之,我想让我的设备得出结论,GPS可以确定找到位置修复,或者你必须通过其他方式获取位置。
我希望至少有人可以告诉我如何处理这个问题。
答案 0 :(得分:4)
以下链接提供了一个很棒的教程,介绍如何从GPS和/或网络获取位置。
它使用计时器任务,该任务分析在特定时间段内是否存在GPS位置,假设为20秒。如果没有,它将从网络返回该位置作为当前位置。如果有来自GPS的位置,那么它将比较哪个更新是新的(最新的),并将其返回。
What is the simplest and most robust way to get the user's current location on Android?