Android 获取国家代码的位置

Android Location for getting countryCode

我想根据我设备的当前位置获取国家代码。我使用了 LocationListener 如下:

locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationListener = new LocationListener() { 

public void onLocationChanged(Location location) {
    makeUseOfNewLocation(location); 
}

locationManager.requestLocationUpdates(
        LocationManager.GPS_PROVIDER, 0, 0, locationListener);

...但是 return 位置需要很长时间。

如何更快地获取国家代码?

也许您应该使用 Locale 而不是位置?

例如:
国家代码:

Locale.getDefault().getCountry

语言代码:

 Locale.getDefault().getLanguage()

希望对您有所帮助。

如果您使用 GPS 提供商,则可能需要等待 GPS 信号。鉴于您只是想确定国家/地区,NETWORK_PROVIDER 应该提供足够的粒度,并且应该给您更快的响应。

您还可以使用最后已知的位置更快地确定您的位置:

Location lastKnownLocation = locationManager.getLastKnownLocation(locationProvider);

参见:http://developer.android.com/guide/topics/location/strategies.html#FastFix