繁体   English   中英

如何检查当前的Android设备是否具有Google的位置服务?

[英]How to check if the current Android device has Google's location service?

众所周知,有些Android手机没有谷歌服务,如华为,中兴和三星设备,所以在使用android.location.LocationManager并尝试使用NetworkProvider请求当前位置时,它总是没有响应。 GPSProvider(“gps”)工作正常,但内部需要花费太多时间。 所以我现在使用的第三方位置提供商可能不够准确,不能作为备份计划。

问题是我不想等待超时期限并在设备没有Google服务时应用备份,在我的应用程序初始化时有没有办法检测到这一点?

我设置了一个标志后,谷歌服务响应没有当前,我不知道是否有替代方案。

谢谢 :)

最后我使用以下策略:

  1. 开始与Google和第三方提供商一起找到并等到两个提供商都返回(或超时)。

  2. 检查结果,如果Google的服务失败,请在偏好设置中添加一个布尔标志,以表明此设备中没有Google位置服务,如果设置了该标志,则不要尝试使用Google的位置服务。

  3. 几天后,再次执行上述步骤以重新检查。

这是一个很好的问题。 我从来没有尝试过。 但是LocationManager上有一个方法:

public List<String> getProviders (boolean enabledOnly)

也许你可以使用它?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM