Android - 地理编码器 - getFromLocation - isPresent()

Android - Geocoder - getFromLocation - isPresent()

我正在尝试获取我 phone 所在位置的完整地址,但无法获取。 我已经看到关于 SO 上的这个问题还有其他问题,但我没有找到任何解决方案。

我重新启动了 phone,我尝试使用 API 19 和 API 20 和 "don't know what else I've found on the net as a possible solution",然后我连接了旧的 phone 和。 ..有效!

因此,phone 和 android 4.2.2 有效(意味着 geocoder.isPresent() == true -> 可以找到地址通过 getFromLocation), android 4.4.2 没有。

有人可以向我解释为什么以及是否有解决方法? 我正在做一个将(希望)被许多 phone 使用的应用程序,所以我想知道如何修复它,因为位置是应用程序的一个非常重要的部分。

请不要建议我使用谷歌的http://maps.googleapis.com,它是禁止:

https://developers.google.com/maps/documentation/geocoding/

此服务通常用于对静态(预先已知)地址进行地理编码,以便在地图上放置应用程序内容

注意:我没有从地理编码器中得到任何错误或异常,只是来自 isPresent() 的错误和一个空地址来自 getFromLocation.

的列表

我用一种非常简单的方法解决了问题:在应用程序中显示一张显示当前位置的小地图。 这允许我调用 google 地图 api 并显示地址(并使应用程序更好)。 这确实是 WhatsApp 所做的。