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
我想根据我设备的当前位置获取国家代码。我使用了 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