有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java get city 安卓

我正在尝试获取用户当前的城市(不是确切的地址,只有城市)

为了得到这个国家,我使用以下代码:

  String locale = context.getResources().getConfiguration().locale.getCountry(); 

我尝试了以下代码来获取城市信息:

Geocoder gcd = new Geocoder(context, Locale.getDefault());
List<Address> addresses = gcd.getFromLocation(lat, lng, 1);
if (addresses.size() > 0) 
    System.out.println(addresses.get(0).getLocality());

然而,它为我返回了一个空字符串:“

备注:我在清单文件中已经有了访问位置和互联网权限

非常感谢


共 (1) 个答案

  1. # 1 楼答案

    首先,你得到国家的方式只是给你在设置中定义的国家。所以在很多情况下这可能是正确的,但对于那些在设置中设置了其他国家的用户来说,这是行不通的

    Geocoder没有给出任何纬度、经度组合的结果,原因之一可能是缺少网络连接,或者您缺少API使用的基本服务

    您还应该确保Geocoder.isPresent()返回true——否则,它将不适用于任何位置Geocoder's isPresent() method always returns false