Я обычно получаю страну из языка устройства. Это работает, но теперь я должен признать Бразилию. И большинство устройств имеют только португальский (pt _PT )и не имеют опции португальский (Бразилия ).
Я проверил эту тему:Где я? -Получить страну
Методы
String locale = context.getResources().getConfiguration().locale.getCountry();
String locale = context.getResources().getConfiguration().locale.getDisplayCountry();
По-прежнему только язык -, не помогает.
Также есть предложение с сим-картой -, но я не уверен, что это будет работать надежно (все ли сим-карты имеют эту уникальную идентификацию? ), это также немного не совсем то, что мне нужно, потому что пользователь не может изменить это (, что в случае, если это была настройка ), и это исключит пользователей, использующих устройство без сима -карта (, возможно, они просто используют WLAN ).
Также есть предложение геолокации, но оно, вероятно, не будет работать на устройствах, на которых оно отключено. Или я ошибаюсь?
Если ничего не помогает, я бы сделал настройку диалогового окна или меню в своем приложении, чтобы пользователь мог выбрать его там. Но сначала я хотел бы подтвердить, есть ли какая-либо надежная возможность с устройством.