Страницы

Поиск по вопросам

вторник, 12 февраля 2019 г.

Как узнать валюту страны, в которой находится пользователь?

Как можно узнать валюту той страны, в которой на данный момент находится пользователь Android-приложения? Предполагается, что пользователь часто путешествует и меняет страну. Подскажите какой-нибудь сервис с открытым API.


Ответ

Решение с конца: https://developer.android.com/reference/java/util/Currency.html Класс который отдает код валюты, символ и т.п. Делается из локали:
Currency currency = Currency.getInstance(locale);
Локаль можно сделать из координат:
Geocoder geocoder = new Geocoder(ctx, Locale.getDefault()); List

addresses = geocoder.getFromLocation(latitude, longitude, 1); if (addresses.size() > 0) { Address address = addresses.get(0); regionCode = address.getCountryCode(); }
Статья от первоисточника: https://developer.android.com/training/location/display-address.html
regionCode должен содержать 2х символьный код, например 'RU','US','DE'.
Из этого кода и делаем локаль:
Locale whereMI = new Locale(regionCode);
Мои извинения за бессвязность кода, надрал из разных проектов по частям.
П.С. Еще вместо GPS для получения кода страны можно использовать ip-api.com/json . С известными оговорками конечно.

Комментариев нет:

Отправить комментарий